WWW architektų taryba (World Wide Web Consortium, W3C) patvirtino naujos kartos tinklapių žymėjimo kalbos HTML aprašo (specifikacijos) metmenis:
Kas naujo, kas gero, o gal ir blogo? Aiškumo dėlei suskirstyčiau pakeitimus į keturias mano galva esmines dalis.
Pirma, automatika. Ji sudaro gausiausią papildymų dalį ir yra svarbiausia HTML 5 išleidimo priežastis. Jos sąvado suderinimas iš pradžių išvis buvo vienintelis tikslas, vadintas tinklapių automatikos Web Applications 1.0 standarto projektu:
Atskiras aprašas, kaip kad CSS, gal ir būtų logiškiau, bet jo sudarymo WHATWG grupėje neatsirado pakankamai savanorių jam prižiūrėti, tad pasiprašė W3C tarybos įtraukti į HTML aprašą:
Automatikos naujovių nėra daug, iš esmės tai tik apibendrinti AJAX taikymo dalykai: DOM, ECMAscript, Canvas, Web Forms (XForms), Window Object, XMLHttpRequest ir panašūs. Tik pritaikyti pasiekiamumo W3C WAI, WCAG reikalavimams – tai esminė pažanga:
Antra esminė pažanga — panaikinta atsiradusi takoskyra tarp HTML4 ir XHTML1, lieka vienas HTML5. Atsisakyta ir pernelyg sudėtingo SGML taisyklių. Naršyklės atpažins hipertekstą ir be nuorodos į standartą, be text/html įrašo, užteks ‹!doctype html›. Bet jei tinklapy bus dar ir XML rėžių, jį reiks deklaruoti atitinkamai ‹?xml version="1.0" encoding="UTF-8"?› ‹html xmlns="http://www.w3.org/1999/xhtml"›. Esmines HTML tinkamumo ir suderinamumo ydas ištaisė XHTML2 kritikas Ian Hickson:
Didžiosios ir mažosios HTML5 žymų raidės nebus skiriamos, autorius galės rašyti, kaip jam patogiau. Standartas ragina taikyti 8 bitų unikodą, jį naršyklės turės atpažinti ir be deklaracijų, vien iš BOM ženklo:
Trečias sumanymas ypač pavykęs ir logiškas: atsisakoma sąvokos „neteiktinos“ (deprecated) gairės. Buvo dviprasmybė: ir leidžiama, ir smerkiama tuo pat metu. Keičiamas požiūris, jis dabar priklauso nuo subjekto: WWW kūrėjai (rašytojai, autoriai, leidybos staklių programuotojai) privalo taikyti tik sutartas prasmines gaires, o tinklapių atvaizdavimo programos (WWW naršyklės) privalo atpažinti ne tik naujus, bet ir pasenusius tinklapius – nebelieka XHTML būdingo nepakantumo. Naujos HTML5 gairės sudarytos taip, kad senos naršyklės jų nepaisytų, o ne rodytų savaip. Net su HTML rašto klaidomis naršyklės dabar turės elgtis vienodai:
Ketvirta užduotis – visiškas, galutinis tinklapio sandaros atskyrimas nuo jo išvaizdos ženklinimo. Bus aiškiau skiriami turinio pavidalai: tinklapio skirsniai, straipsniai su antraštėmis ir poraštėmis, intarpai iš kitų šaltinių, vietos sąveikai su skaitytoju, tinklapio meta duomenų aprašas. Neturi likti medžiagos, nepriklausančios jokiam kokios nors paskirties sklypui:
dev.w3.org/html5/html4-differences
Naujos HTML5 gairės, paryškinančios prasminę (semantinę) tinklapio dalių paskirtį:
- ‹nav› ‹menu type› tinklapių sandaros nuorodoms, ‹article› raštui, ‹aside› paraštėms;
- ‹section› – tinklapio skirsniams, jų ‹header› ir ‹footer› – antraštei ir poraštei;
- ‹audio› ir ‹video› su aprašymo sklypu ‹figure› – garso ir vaizdo įrašams, kuriuos naršyklės jau leis pačios, be papildomų grotuvų pagalbos;
- ‹embed› – tik naršyklės įskiepiais (plugin) dorojamai medžiagai;
- ‹output› – programinio skripto išduotai medžiagai;
- ‹eventsource› – nuolatiniam saitui su serveriu, kuris šioje vietoje tiekia kintamą medžiagą be viso tinklapio perkrovimo.
Smerkiamų žymų likimas:
- visai panaikintos išvaizdos gairės: ‹center›, ‹font›, ‹strike›, ‹s›, ‹u›, ‹tt›, ‹big›, ‹p align› ir pan.;
- bet nebesmerkiamios ‹a target›, ‹li value›, ‹ol start›, atvirkščias ‹ol reversed› sąrašas;
- atgaivintos netgi ‹b›, ‹i›, ‹hr›, ‹small› gairės – tik patikslinta jų prasminė paskirtis;
- polangių (rėmų, kadrų) ‹frame› dėl neišvengiamų ydų atsisakyta, bet vidiniai ‹iframe› palikti.
Kitos naujovės:
- tam tikras tinklapio sritis ‹p draggable› žiūrovas galės perkelti į kitą vietą, keisti ‹p contenteditable› sklypo turinį ir atšaukti pakeitimus (undomanager);
- autorius galės suteikti rėžiui bet kokį savą paskirties bruožą, tik pažymėdamas gairėje prieš jį brūkšnelį ir žodelį „data“ ‹p data-custom›, galės pritaikyti skaitytojo pasirinktą ‹p contextmenu›, kitokius sąlyginius ‹p onevent-name› atvejus;
- nebereiks programuoti perspėjimo apie būtiną atsakyti anketos klausimą, nes tokį lovelį bus galima paženklinti ‹input required›;
- įsteigta daug API ir DOM rėžių – sąsajai su tinklapių valdymo programomis.
Bendri principai:
- visos HTML5 gairės bus aiškios, atitiks pasiekiamumo (accessibility) sąlygą iš karto, be papildomų priemonių (pvz. ‹img alt›);
- programinius automatikos dalykus naršyklė išsaugos (cache), kad veiktų ir atsijungus nuo interneto;
- prasminė rėžių paskirtis bus aprašyta smulkiai ir tiksliai, kad naršyklės negalėtų atvaizduoti skirtingai.
Deja, šios ketvirtosios užduoties – pritaikyti HTML turinio sandarai aprašyti – nepavyko atlikti iki galo, iš esmės ir logiškai nuosekliai. Puikią kritiką šiuo HTML5 semantikos klausimu paskelbė CSS meistras, pirmojo mikroformatų vadovėlio autorius John Allsopp:
www.alistapart.com/articles/semanticsinhtml5
Vis dėlto, panagrinėjus naująjį standartą, atrodo, kad HTML5 yra gera naujiena, pažangos nemažai. O nuostolio jokio, senų tinklapių WWW paveldas nepaliktas už borto, kaip būtų nutikę, priėmus XHTML2:
Buvo neramu, nes tinklapių automatikos aistruoliai, 2004 metais susibūrę į opozicinę grupę WHATWG, kaltino W3C tarybą vangumu, atsargumu, diegiant naujoves, ėmė spausti tarybą daryti visiškai nepriimtinų standarto keitimų. 2007 metais taryba sutiko nagrinėti WHATWG kūrybą ir atnaujino HTML darbo grupę. Tik su raštiškai išguldytomis sąlygomis negriauti dalykinių HTML pamatų ir rūpintis ne vien automatika:
www.w3.org/TR/html-design-principles
Taigi, šių metų vasario 12 dieną W3C priimtas HTML 5 juodraštis džiugina. WHATWG irgi paskelbė HTML 5 savo buveinėje:
Autorius taip pat kviečia tinklapių dailides aptarti pasirengimą naujovėms ar duoti kritinių pastabų šiai apžvalgai.