Escolar Documentos
Profissional Documentos
Cultura Documentos
Novatec
Copyright 2011 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. proi ida a reprod!"#o desta o ra$ %es%o parcial$ por &!al&!er processo$ se% pr'via a!tori(a"#o$ por escrito$ do a!tor e da Editora. Editor) *! e+s ,rates Capa) Caroli+a -!.a ata *evis#o gra%atical) /' ora 0aci+ Editora"#o eletr1+ica) Ca%ila -!.a ata e Caroli+a -!.a ata 234N) 95868765722626168 9ist:rico de i%press;es) <!lho/2011 ,ri%eira edi"#o
Novatec Editora Ltda. *!a L!=s >+t1+io dos 3a+tos 110 028606000 ? 3#o ,a!lo$ 3, ? 4rasil Tel.) @77 11 297966729 0aA) @77 11 297068869 E6%ail) +ovatecB+ovatec.co%. r 3ite) ....+ovatec.co%. r T.itter) t.itter.co%/+ovateceditora 0ace ooC) Dace ooC.co%/+ovatec Li+Ced2+) li+Cedi+.co%/i+/+ovatec
Dados
(CIP)
11-065.1
9i<0cia
captulo
Apresentao da HTML5
Neste cap=t!lo$ serE aprese+tada a li+g!age% de %arca"#o 9TFL7$ relata+do6se s!as orige+s$ Di+alidades e desti+a"#o. 3erE Deito !% reve relato hist:rico de s!a evol!"#o$ eAa%i+a+do as %otiva";es &!e res!ltara% +a s!a cria"#o$ a DilosoDia &!e +orteia o dese+volvi%e+to das especiDica";es para a li+g!age% e as pri+cipais di6 Dere+"as co+ceit!ais para as vers;es a+teriores da li+g!age% 9TFL.
1.1 ntroduo
9TFL ' a sigla e% i+glGs para HyperText Markup Language$ &!e$ e% port!g!Gs$ sig6 +iDica li+g!age% para %arca"#o de hiperteAto. H co+ceito de hiperteAto ad%ite !% se%6+I%ero de co+sidera";es e disc!s6 s;es &!e Doge% ao escopo deste livro. ,ara o o% e+te+di%e+to das deDi+i";es$ pode%os res!%ir hiperteAto co%o todo o co+teIdo i+serido e% !% doc!%e+to para a .e e &!e te% co%o pri+cipal caracter=stica a possi ilidade de se i+terligar a o!tros doc!%e+tos da .e . H &!e tor+a poss=vel a co+str!"#o de hiperteAtos s#o os li+Cs$ prese+tes +as pEgi+as dos sites &!e esta%os acost!%ados a visitar &!a+do e+tra%os +a i+ter+et. /esde a i+ve+"#o da .e por Ti% 4er+ers6Lee$ a 9TFL evol!i! por sete vers;es &!e s#o)
20
21
9TFL K.0 9TFL K.2 9TFL 8.0 9TFL 8.01 Lvers#o at!alM 9TFL7 Lvers#o e% Dase de dese+volvi%e+toM
Tec+ica%e+te$ o NKC co+sidera oDicial%e+te so%e+te as vers;es 9TFL 2.0$ 9TFL K.2$ 9TFL 8.0$ 9TFL 8.01 e 9TFL7. >s vers;es 9TFL e 9TFL@ s#o a+teriores O cria"#o do NKC e a vers#o 9TFL K.0 +#o chego! a ser la+"ada oDicial%e+te$ tra+sDor%a+do6se +a vers#o 9TFL K.2.
> .e Doi i+ve+tada e% 1992 por 3ir Ti% 4er+ers6Lee. >t!al%e+te Ti% ' diretor do Norld Nide Ne Co+sorti!% LNKCM$ pes&!isador sG+ior do La orat:rio da CiG+cia da Co%p!ta"#o e 2+teligG+cia >rtiDicial LC3>2LM do 2+stit!to de Tec+ologia de Fassach!setts LF2TM e proDessor de CiG+cia da Co%p!ta"#o +a P+iversidade de 3o!tha%pto+$ +a 2+glaterra. Ti% 4er+ers6Lee tra alhava +a 3e"#o de Co%p!ta"#o da Hrga+i(a"#o E!ropeia de ,es&!isa N!clear LCE*NM$ co% sede e% Qe+e ra$ +a 3!="a$ &!a+do i+icio! pes&!isas visa+do a desco rir !% %'todo &!e possi ilitasse aos cie+tistas do %!+do i+teiro co%partilhar eletro+ica%e+te se!s teAtos e pes&!isas e &!e tivesse a D!+cio+alidade de i+terligar os doc!%e+tos. Estava% criadas as +o";es web e de links co%o s#o co+hecidas at!al%e+te. E% 1990$ Ti% crio! o prot:tipo de !% +avegador para rodar e% co%p!tadores da NeRT$ !%a co%pa+hia D!+dada e% 1987 por 3teve <o s$ at!al CEH da >pple. 2+icial%e+te$ o +avegador Doi cha%ado de NorldNideNe e$ posterior%e+te$ re+o6 %eado para NeA!s$ a Di% de evitar co+D!s#o co% a Norld Nide Ne .
H ter%o i+glGs browser ' !sado +o Sarg#o da i+ter+et para desig+ar !% progra%a capa( de ler e aprese+tar ao !s!Erio os co+teIdos de !% doc!%e+to .e escrito e% li+g!age% de %arca"#o. 4ro.ser ve% do ver o to browse$ &!e sig+iDica Dolhear cas!al%e+te as pEgi+as de !% livro e Doi trad!(ido para o port!g!Gs co%o +avegador$ gera+do a t#o e% co+hecida eApress#o T+avegar +a i+ter+etU. 3#o eAe%plos de +avegadores o 2+ter+et EAplorer$ o 0ireDoA$ o Hpera$ o Chro%e e o 3aDari$ e+tre o!tros. Neste livro$ adotare%os o ter%o e% s!a Dor%a trad!(ida) +avegador.
Ti% 4er+ers6Lee acreditava &!e seria poss=vel i+terligar hiperteAtos e% co%6 p!tadores diDere+tes co% !so de li+Cs glo ais$ ta% '% cha%ados de hiperli+Cs. Ele dese+volve! !% soDt.are pr:prio e !% protocolo para rec!perar hiperteAtos$
22
HTML 5
de+o%i+ado 9TT,. H Dor%ato de teAto &!e crio! para o 9TT, Doi cha%ado de 9TFL. Ti% to%o! co%o ase para cria"#o da 9TFL a especiDica"#o 3QFL$ &!e ' !% %'todo i+ter+acio+al%e+te reco+hecido e aceito$ co+te+do +or%as gerais para a cria"#o de li+g!age+s de %arca"#o. > %arca"#o para hiperli+Cs co+d!(i+do a do6 c!%e+tos &!e +#o estivesse% e% !% %es%o co%p!tador o via%e+te +#o co+stava das +or%as para 3QFL e Doi i+ve+tada por Ti%$ de%o+strada pela pri%eira ve( e% 1990$ e% !%a esta"#o de tra alho NeRT$ +os la orat:rios da CE*N. Estava criado o e% ri#o da Norld Nide Ne $ e% co%o a pri%eira vers#o da li+g!age% 9TFL para a %arca"#o de hiperteAtos. > partir da=$ a evol!"#o cro+ol:gica da 9TFL de!6 se co+Dor%e relatado s!%aria%e+te a seg!ir.
1.2 Hist"rico
E% sete% ro de 1991$ Doi criada a lista de disc!ss#o eletr1+ica de+o%i+ada WWWtalk$ co% o prop:sito de trocar ideias e eAperiG+cias so re a 9TFL dese+volvida por Ti% 4er+ers6Lee. P% dos Dre&!e+tadores da lista era /ave *aggett$ dos la o6 rat:rios da 9e.lett6,acCard$ e% 4ristol$ 2+glaterra. /ave$ e%polgado co% a +ova ideia$ dese+volve! s!as pes&!isas e aca o! por escrever a 9TFL@$ !%a vers#o ela orada e e+ri&!ecida da 9TFL origi+al dese+volvida por Ti%. E% o!t! ro de 199K$ /ave *aggett de! por e+cerrada as disc!ss;es e$ +o %Gs seg!i+te$ p! lico! a vers#o Di+al da 9TFL@. > 9TFL@ co%e"a co% a seg!i+te aDir%a"#o)
/oc!%e+tos %arcados co% 9TFL@ s#o co+stit!=dos de t=t!los$ parEgraDos$ listas$ ta elas e Dig!ras.
Co+v'% salie+tar co% %!ita G+Dase &!e$ desde s!a cria"#o$ os ideali(adores da 9TFL tivera% a preoc!pa"#o de retirar da li+g!age% de %arca"#o &!al&!er atri !i"#o o! D!+"#o de aprese+ta"#o$ o! seSa$ 9TFL desti+a6se eAcl!siva%e+te a estr!t!rar doc!%e+tos. +essa desti+a"#o &!e se D!+da%e+ta% os pri+c=pios Esicos do dese+volvi%e+to seg!i+do os ,adr;es Ne .
2#
H a+o de 1992 %arco! o i+teresse do Ce+tro Nacio+al de >plica";es para 3!per6 co%p!tadores LNC3>M da P+iversidade de 2lli+ois ? e+t#o represe+tado por <oseph 9ardi+ e /ave Tho%pso+$ os &!ais aca ara% por dese+volver !% +avegador &!e Doi de+o%i+ado Fosaic. /a NC3> participara% ai+da dois eApoe+tes da .e ) Farc >+dreesse+$ &!e aprese+to! a ideia de !% ele%e+to para %arca"#o de i%age+s +os hiperteAtos ? e depois Dico! %ilio+Erio ve+de+do prod!tos para a .e ?$ e Eric 4i+a$ !% rilha+te progra%ador co+siderado !% gG+io da .e . E% 199K$ Lo! Fo+t!lli crio! o +avegador de teAto de+o%i+ado Ly+A vers#o 2.0a e /ave *aggett co%e"o! a tra alhar +o dese+volvi%e+to do +avegador >re+a$ &!e se desti+ava a de%o+strar$ +a prEtica$ a i%ple%e+ta"#o de todas as D!+cio+alidades i+ve+tadas e disc!tidas at' e+t#o. >i+da +esse a+o a 3!+ Ficrosyste%s la+"o! a vers#o 1 do +avegador Fosaic. >s gra+des co%pa+hias +#o se i+teressara% pela +ova i+ve+"#o$ alega+do +#o acreditar &!e p!desse% tirar proveito alg!% da .e e &!e se tratava de !% %eio de co%!+ica"#o restrito e de e%prego eAcl!sivo +a Erea acadG%ica. Tal pe+sa%e+to desesti%!lo! as pes&!isas &!e vi+ha% se+do dese+volvidas$ pois estas depe+dia% de patroc=+io. >s e&!ipes$ &!e at' e+t#o dese+volvia% se!s proSetos e% horas vagas$ reDreara% o =%peto i+icial por Dalta de te%po e ver a. H tra alho co+ti+!o!$ %as e% !% rit%o a&!'% do esperado pelos e+volvidos +o proSeto. No %Gs de %aio de 1998$ a 3pyglass co%pro! a lice+"a de co%erciali(a"#o da vers#o aperDei"oada do +avegador Fosaic. >i+da +esse %Gs de %aio$ a CE*N orga+i(o!$ e% Qe+e ra$ a pri%eira co+DerG+cia para a Norld Nide Ne co% a aprese+ta"#o da 9TFL@$ criada por /ave *aggett. > co+DerG+cia co+to! co% a participa"#o de aproAi%ada%e+te K80 pessoas$ a %aioria e+volvida co% atividades e i+stit!i";es acadG%icas.
No %Gs de o!t! ro de 1998$ Ti% 4er+ers6Lee e% parceria co% a CE*N$ o+de a .e Doi por ele i+ve+tada$ criara% o Norld Nide Ne Co+sorti!% LNKCM$ co% sede +o La orat:rio da CiG+cia da Co%p!ta"#o do Fassach!setts 2+stit!te oD Tech+ology LF2TM.
Co% a cria"#o de +ovos +avegadores$ a 9TFL tor+o!6se !% caos$ co% cada Da rica+te i+ve+ta+do +ovas Dor%as de %arca"#o 9TFL eAcl!sivas para se!s +ave6 gadores. E% !%a te+tativa de orga+i(ar a sit!a"#o$ /a+ Co++olly e cola oradores Di(era% !% leva+ta%e+to %i+!cioso de t!do o &!e eAistia +a 9TFL e prop!sera%$ e% S!lho de 1998$ a especiDica"#o 9TFL 2.0$ !%a te+tativa de co+solidar e !+iDicar as diDere+tes Dor%as 9TFL de %arca"#o &!e vi+ha% se+do criadas. >dicio+al%e+te$ /a+ e s!a e&!ipe escrevera% a pri%eira /eDi+i"#o do Tipo de /oc!%e+to L/T/M para a 9TFL 2.0$ !%a esp'cie de descri"#o %ate%Etica da li+g!age%.
2$
HTML 5
E% sete% ro$ Doi criado pela 0or"a6TareDa para E+ge+haria de 2+ter+et L2ET0M o pri%eiro gr!po de tra alho para a 9TFL. > 2ET0 ' !%a orga+i(a"#o i+ter+acio+al &!e co+grega i+teressados +os vErios aspectos da i+ter+et$ co% a Di+alidade de dese+6 volver +or%as e tec+ologias perti+e+tes O opera"#o e O evol!"#o da ar&!itet!ra da i+ter+et. > cria"#o desse gr!po de tra alho %arco! a a ert!ra do dese+volvi%e+to da 9TFL para &!al&!er pessoa i+teressada$ i+depe+de+te%e+te de perte+cer o! +#o a !%a orga+i(a"#o o! :rg#o partic!lar$ isto '$ a disc!ss#o tor+o!6se a erta ao pI lico e% geral. Farc >+dreesse+ e <i% ClarC havia% D!+dado a Fosaic Co%%!+icatio+s &!e$ e% +ove% ro desse a+o$ tra+sDor%o!6se +a Netscape Co%%!+icatio+s Corporatio+. Nascia a Co%pa+hia &!e se tor+aria$ e% po!co te%po$ a se+hora a sol!ta da .e $ i%p!lsio+ada co% a aceita"#o !+W+i%e da +ova vers#o do +avegador Fosaic. H s!cesso da Netscape deve!6se$ e+tre o!tros Datores$ pri%ordial%e+te$ ao i+vesti%e+6 to %aci"o +as D!+cio+alidades de proporcio+ar acesso O i+ter+et$ %es%o para os !s!Erios co% dispositivos %ais precErios. > Netscape tor+o!6se a se+sa"#o e %!itos ai+da acredita% erro+ea%e+te &!e a .e Doi criada pela Netscape. ,or o!tro lado$ a co%pa+hia isolo!6se e% s!as pes&!isas e dese+volvi%e+tos$ adota+do a pol=tica de i+ve+tar 9TFL pr:pria$ se% participa"#o da co%!+idade i+teressada e passa+do ao largo de co+DerG+cias e e+co+tros pI licos relacio+ados. No %Gs de o!t! ro de 1998$ Doi criado o Norld Nide Ne Co+sorti!% LNKCM$ !% co+s:rcio i+ter+acio+al Dor%ado por e%presas$ i+stit!i";es$ pes&!isadores$ dese+volvedores e pI lico e% geral$ co% a Di+alidade de dese+volver a .e a se! pote+cial %EAi%o$ cria+do +or%as e especiDica";es aplicEveis aos diversos seg%e+6 tos e setores da .e $ desde tec+ologias e soDt.ares at' Da rica+tes e Dor+ecedores. H NKC te% s!a sede pri+cipal distri !=da e% trGs l!gares disti+tos) +os La ora6 t:rios de CiG+cia da Co%p!ta"#o do F2T$ e% Fassach!setts$ +os Estados P+idos$ +o 2+stit!to Nacio+al de ,es&!isas de 2+Dor%Etica e >!to%a"#o$ +a 0ra+"a$ e +a P+iversidade de -eiCo$ +o <ap#o$ al'% de escrit:rios espalhados e% vErias cidades do %!+do. >s %ais proe%i+e+tes e rilha+tes ca e"as e+volvidas co% o dese+vol6 vi%e+to para a .e Dora% co+vidadas a Dor%ar o +Icleo Esico do NKC. No%es de proSe"#o i+ter+acio+al +o e+volvi%e+to co% a .e Dora% co+vidados a participar$ destaca+do6se 9e+ricC 0rystyC Neilse+$ >+sel% 4aird63%ith$ <ay 3eCora$ *ohit -hare$ /a+ Co++olly$ <i% Qettys$ Ti% 4er+ers6Lee$ 3!sa+ 9ardy$ <i% Filler$ /ave *aggett$ To% Qree+e$ >rth!r 3ecret$ -are+ Fac>rth!r$ >r+a!d le 9ors$ 9XCo+ Lie$ 4ert 4os e Chris Lilley$ e+tre o!tros.
25
H a+o de 1997 assi+alo! o i+=cio de !% dese+volvi%e+to Dre+'tico de +ovas %arca";es para a 9TFL$ co% prioridade para a cria"#o de ele%e+tos e atri !tos de aprese+ta"#o e% total desacordo co% o prop:sito i+icial da li+g!age%$ &!al seSa) o de ser !%a li+g!age% eAcl!siva%e+te de %arca"#o e estr!t!ra"#o de teAtos. >tri !tos e ele%e+tos para deDi+ir ta%a+hos$ tipos e cores de letras dos teAtos$ cores de D!+do$ teAt!ras e toda !%a paraDer+Elia relacio+ada$ co%pleta%e+te Dora do escopo i+icial da 9TFL. > vers#o Di+al da 9TFL 2.0 Doi p! licada e% 22 de sete% ro de 1997. E% %ar"o de 1997$ /ave *aggett la+"o! s!a proposta para a 9TFL K.0$ &!e ve% co% a pri%eira s!gest#o de !%a %arca"#o espec=Dica para estili(a"#o e aprese+ta"#o$ ao %es%o te%po &!e ta% '% prop;e a cria"#o do atri !to class. 3!rgi!$ ai+da$ a %arca"#o para ta elas$ para +otas de rodap' e Dor%!lErios. > %arca"#o para ta elas gero! gra+de disc!ss#o +a 'poca$ te+do sido eDetivada so%e+te +a vers#o seg!i+te da 9TFL. E% sete% ro$ a Netscape prop1s o co+ceito de frames e% doc!%e+tos 9TFL e i%ple%e+to! essa D!+cio+alidade e% se! +avegador$ se% co+s!ltas O co%!+idade$ co%o era prEtica co%!%. E% +ove% ro$ a FicrosoDt la+"o! a vers#o 2.0 do 2+ter+et EAplorer. 4ert 4os$ 9XCo+ Lie$ /ave *aggett$ Chris Lilley e cola oradores i+iciara%$ +esse %es%o %Gs$ a ideali(a"#o das Dolhas de estilo e% cascata LC33M. E% de(e% ro$ dissolve!6se o gr!po de tra alho para a 9TFL. E% Devereiro de 1996$ o NKC crio! o 9TFL E*4$ !% gr!po Dor%ado por repre6 se+ta+tes da 24F$ FicrosoDt$ Netscape$ Novell$ 3oDt&!ad e do NKC Co+sorti!%$ e+carregado de rever e padro+i(ar a 9TFL co% a Di+alidade de aca ar co% as i%ple%e+ta";es proprietErias. E% de(e% ro$ o 9TFL E*4 tra+sDor%o!6se +o Qr!po de Tra alho da 9TFL$ &!e eAiste at' hoSe. Esse %Gs assi+alo! o i+=cio dos est!dos para a i%ple%e+ta6 "#o de !%a %arca"#o provisoria%e+te de+o%i+ada Cougar$ a &!al$ %ais tarde$ tra+sDor%ar6se6ia +o 9TFL8. E% Sa+eiro de 1995$ o NKC e+dosso! a 9TFL K.2 co%o !%a *eco%e+da"#o oDicial. Co% essa vers#o$ a 9TFL i+corporo! os ele%e+tos table e applet$ e% co%o ele%e+tos para %arcar s! scritos$ so rescritos e teAto ao redor de i%age+s.
2%
HTML 5
E% S!lho de 1995$ Doi la+"ada a vers#o rasc!+ho para a Co!gar$ depois de+o6 %i+ada 9TFL8. E% de(e% ro desse a+o$ o NKC e+dosso! a 9TFL8 co%o !%a *eco%e+da"#o oDicial. E% de(e% ro de 1999$ o NKC p! lico! as *eco%e+da";es para o 9TFL 8.01. Essa ' a vers#o at!al da 9TFL.
2&
21
HTML 5
YeSa%os a seg!ir cada !%a dessas Ereas e se!s pri+c=pios de dese+volvi%e+to para a 9TFL7.
1.5.1 !ompati/ilidade
Co%pati ilidade ' !% ter%o &!e pode ser i+terpretado de vErias %a+eiras. Dre6 &!e+te o !so dos ter%os Tretroco%pati ilidadeU e Tco%pati ilidade D!t!raU$ co+t!do$ depe+de+do do co+teAto$ +e% se%pre Dica claro o &!e eles sig+iDica%. Hs pri+c=pios de co%pati ilidade previstos +a Nota do NKC esclarece% o ter%o co%pati ilidade e% diDere+tes co+teAtos$ co+Dor%e descritos a seg!ir.
22
> %arca"#o e% &!est#o co+t'% vErios erros$ %as$ se co+star de !% doc!%e+to .e servido co% o tipo de F2FE text/html$ e &!al&!er /HCTZ,E o! %es%o se% ele$ serE re+deri(ada +or%al%e+te co%o !%a lista de dois ite+s$ cada !% deles co% dois s! ite+s e respectivos %arcadores6padr#o. E% %arca"#o R9TFL servida co% o tipo de F2FE application/xhtml xml o +ave6 gador ac!sarE !% erro Datal e o !s!Erio serE ri+dado co% !%a %e+sage% de erro. Co%o sa e%os$ a te+tativa de evol!ir a 9TFL para R9TFL Dracasso! e Doi a a+do+ada pelo NKC e% Davor da 9TFL7 e esta ao co+trErio da R9TFL$ seg!+do o pri+c=pio da co%pati ilidade$ deverE ser dese+volvida de %odo a +#o T&!e rarU %arca"#o errada. F!itos sites !sa% o ele%e+to u para %arcar teAtos s! li+hados. Esse ele%e+to Doi colocado e% des!so pela 9TFL8V co+t!do$ a 9TFL7 deve prever s!porte para ele. Esses dois si%ples eAe%plos e% il!stra% o pri+c=pio da co%pati ilidade$ po6 r'% +#o ' s: %arca"#o errada e ele%e+to e% des!so &!e ele co+te%pla. >,2s de especiDica";es 9TFL a+tigas$ D!+cio+alidades e co%porta%e+tos +#o previstos e% especiDica";es e at' %es%o D!+cio+alidades proprietErias deve% ser co+sideradas +o dese+volvi%e+to da 9TFL7. Co+v'% ai+da ressaltar &!e re+deri(ar correta%e+te %arca"#o errada +#o i%6 plica doc!%e+to vElido. 3eg!+do esse pri+c=pio$ a 9TFL7 estE se+do dese+volvida de %odo &!e a %ar6 ca"#o %ostrada a+terior%e+te re+deri(a +or%al%e+te e% 9TFL7$ %as os a!tores deve% evitE6la ao criar doc!%e+tos +ovos. Elas ser#o s!portadas e% doc!%e+tos a+tigos &!a+do %igrados para 9TFL7.
#0
HTML 5
>s perg!+tas &!e deve% ser Deitas para se chegar O co+cl!s#o so re o s!porte o! +#o a !%a D!+cio+alidade o! co%porta%e+to s#o)
> &!a+tidade de co+teIdos depe+de+te da D!+cio+alidade o! co%porta%e+to ' co+siderEvel[ > D!+cio+alidade o! co%porta%e+to ocorre e% sites pop!lares e de gra+de a!diG+cia[ > D!+cio+alidade o! co%porta%e+to ' para co+s!%o glo al o! locali(ado[ > D!+cio+alidade o! co%porta%e+to ' para a .e pI lica o! restrito a dis6 positivos partic!lares[ > D!+cio+alidade o! co%porta%e+to D!+cio+a e% vErios dispositivos o! estE restrito a deter%i+ado dispositivo[
H co+teIdo ' criado i%ple%e+ta+do6se as %ais %oder+as e ava+"adas tec+o6 logias co% o o Setivo de estili(ar$ i+cre%e+tar aprese+ta"#o e !sa ilidade e t!do %ais &!e achar co+ve+ie+te. Nessas co+di";es$ o pri+c=pio da degrada"#o graciosa esta elece &!e dispositi6 vos e !s!Erios se% s!porte para as tec+ologias ava+"adas +#o Dicar#o privados da i+Dor%a"#o tra+s%itida pelo co+teIdo. ,or eAe%plo) proSetar !% oA co% ordas arredo+dadas e so% ras proporcio+a degrada"#o graciosa para !s!Erios co% +a6 vegador se% s!porte para C33K &!e ver#o o oA co% ordas +#o arredo+dadas e se% so% ras$ por'% ter#o acesso ao co+teIdo +ele i+serido. >o proSetar !% %e+! dropdo.+ co% <ava3cript$ ' preciso gara+tir &!e o %e+! serE acess=vel e D!+cio+al para !s!Erios se% s!porte o! co% <ava3cript desa ilitado. Esses dois si%ples eAe%plos e% il!stra% o pri+c=pio da degrada"#o graciosa &!e$ e% Ilti%a a+Elise$ sig+iDica o seg!i+te)
>o acresce+tar D!+cio+alidades c!So s!porte ' previsto +os %ais %oder+os +avegadores$ ' preciso &!e os dese+volvedores gara+ta% %eca+is%os capa(es
!aptulo 1 J Apresentao da HTML5 de re+deri(ar o co+teIdo de Dor%a a +#o perder a i+Dor%a"#o tra+s%itida$ &!a+do o co+teIdo ' re+deri(ado e% age+tes de !s!Erio a+tigos +e% para !s!Erios &!e +avega% co% alg!%as D!+cio+alidades desa ilitadas.
#1
3eg!+do esse pri+c=pio$ a 9TFL7 estE se+do dese+volvida de %odo a Dor+ecer %eca+is%os capa(es de proporcio+ar !%a sol!"#o alter+ativa para a degrada"#o graciosa. E% se trata+do de +ovas D!+cio+alidades$ +a %aioria dos casos$ as seg!i+tes co+sidera";es s#o levadas e% co+ta)
Novos ele%e+tos o! atri !tos$ &!a+do +#o e+te+didos pelo age+te de !s!Erio$ deve% prever !% %eca+is%o adicio+al de tra+s%iss#o de se%W+tica$ se% perder s!a D!+cio+alidade. Novos %'todos o! atri !tos deve% ser capa(es de ser testados via ECF>3cript a+tes de sere% !sados. Novos ele%e+tos o! atri !tos deve% ser se%W+ticos e capa(es de rece ere% estili(a"#o %=+i%a. Novos ele%e+tos capa(es de co%portare% !% %eca+is%o de re+deri(a"#o soDisticado deve% prever !%a alter+ativa de tra+s%iss#o do se! co+teIdo para age+tes &!e +#o os s!porte%.
Co+t!do$ esse pri+c=pio +#o ' a sol!to +o dese+volvi%e+to da 9TFL7. E% al6 g!+s casos$ a +ova D!+cio+alidade si%ples%e+te +#o irE D!+cio+ar e% deter%i+ada classe de age+tes de !s!Erio o! ai+da ' i%poss=vel de se prover degrada"#o graciosa. ,or eAe%plo) as +ovas >,2s &!e depe+de% de li+g!age% de script para D!+cio+ar +#o D!+cio+ar#o e% age+tes de !s!Erio se% s!porte para o script. Hs eAe%plos a seg!ir il!stra% o pri+c=pio da degrada"#o graciosa aplicado ao dese+volvi%e+to da 9TFL7)
Hs +ovos ele%e+tos can!as e audio desti+ados a i%ple%e+tar %!lti%=dia e% !% doc!%e+to prevee% !% %eca+is%o de aprese+ta"#o de co+teIdo alter6 +ativo para +avegadores &!e +#o s!porta% esses ele%e+tos$ co%o %ostrado +a %arca"#o a seg!ir)
<can!as>"nsira a#ui o conte$do alternati!o</can!as> <audio>"nsira a#ui o conte$do alternati!o</audio>
H +ovo %'todo get%lements&'(lass)ame*+ ' %!ito %ais rEpido do &!e se! e&!iva6 le+te tradicio+al dese+volvido co% ECF>3cript. 3eg!+do o pri+c=pio da degra6 da"#o graciosa$ %eca+is%os de veriDica"#o de s!porte para esse %'todo pode% ser !sados para servir o %'todo e&!ivale+te para age+tes &!e +#o o s!porta%.
#2
HTML 5
1.5.2 9tilidade
Ptilidade visa a gara+tir &!e a %arca"#o 9TFL possa ser !sada de %odo eDetivo para todos os Di+s a &!e ela se desti+a.
##
1.5.2.2 +rioridades
,rioridades ' !% pri+c=pio &!e co+sidera !%a cadeia de i+teressados &!a+do hE co+Dlitos e% rela"#o O i%ple%e+ta"#o de !%a D!+cio+alidade +a 9TFL7. Nesses casos$ ao se criar !%a D!+cio+alidade$ os !s!Erios ser#o co+siderados e% pri%eiro l!gar. 3eg!e%6se a estes os i%ple%e+tadores das D!+cio+alidades &!e s#o seg!idos pelos &!e cria% especiDica";esV e% Ilti%o l!gar$ co+sidera6se a p!re(a te:rica da &!est#o.
1.5.2.# Se,urana
3eg!ra+"a ' !% pri+c=pio &!e visa a asseg!rar &!e as D!+cio+alidades da 9TFL7 +#o oDere"a% rechas &!e possi ilita% violar as +or%as de seg!ra+"a do %odelo .e . ,reDere+cial%e+te as co+sidera";es so re seg!ra+"a deve% ser tratadas dire6 ta%e+te +as especiDica";es. ,or eAe%plo) a co%!+ica"#o e+tre doc!%e+tos de diDere+tes sites ' %!ito ItilV co+t!do$ i%ple%e+tar tal D!+cio+alidade se% restri";es pode colocar e% risco a seg!ra+"a dos dados tra+s%itidos. > D!+cio+alidade para co%!+ica"#o e+tre do6 c!%e+tos estE proSetada +a 9TFL7 paralela%e+te a %eca+is%os &!e i%pede% a viola"#o das regras de seg!ra+"a.
#$
HTML 5
,or eAe%plo) o ele%e+to article deDi+e !% artigo i+divid!al se% detalhar a %a6 +eira co%o ele deve ser re+deri(ado. E% deter%i+ado co+teAto$ !% artigo pode ser I+ico +a pEgi+a e disposto e% %Iltiplas col!+as ao passo &!e e% o!tro co+teAto possa coeAistir co% vErios o!tros artigos %!lticol!+ares e% !%a %es%a pEgi+a. Hs ele%e+tos b e i s#o larga%e+te !sados. %!ito %elhor esta elecer +ovas regras de re+deri(a"#o para eles$ +os diDere+tes tipos de %=dia$ do &!e si%ples%e+te a+i6los das especiDica";es.
1.5.# nteropera/ilidade
2+teropera ilidade visa a a!%e+tar as cha+ces de !%a i%ple%e+ta"#o 9TFL D!+cio+ar +os %ais variados dispositivos e siste%as.
#5
1.5.$.# Acessi/ilidade
Essa D!+cio+alidade visa a Dacilitar o acesso ao co+teIdo i+depe+de+te%e+te do dispositivo o! das +ecessidades especiais do !s!Erio. 2sso +#o sig+iDica &!e !%a D!+cio+alidade deva ser descartada se !% gr!po de !s!Erios +#o tiver acesso a ela$ %as se deve% prever %eios alter+ativos de acesso. o caso do ele%e+to img &!e +#o deve ser a+ido por&!e !s!Erios cegos +#o co+seg!e% ver i%age+s. Psa6se o atri !to alt para Dor+ecer !% %eio alter+ativo de acesso O i%age% para a&!eles !s!Erios.
#%
HTML 5
1.%.1 ntroduo
> especiDica"#o para a 9TFL7 i+iciada +o a+o de 2008 e i+corporada pelo NKC +o a+o de 2005 te% co%o o Setivo geral est!dar e resolver pro le%as relacio+ados O i%ple%e+ta"#o de !% 9TFL co+te%porW+eo e ao %es%o te%po co%pat=vel co% co+teIdos eAiste+tes. ,ara c!%prir esse o Setivo$ co+sidera os seg!i+tes po+tos)
/eDi+i"#o de !%a li+g!age% I+ica de+o%i+ada 9TFL7 &!e pode ser escrita ta+to co% a si+taAe 9TFL &!a+to co% a si+taAe RFL. /eDi+i"#o de %odelos de processa%e+to detalhados co% vista a pro%over a i+teropera ilidade da li+g!age%. >perDei"oa%e+to da %arca"#o dos doc!%e+tos. Cria"#o de %arca"#o e >,2s para +ovas tec+ologias$ tais co%o as aplica";es Ne .
Nesse co+teAto$ pode%os agr!par as diDere+"as e+tre as d!as li+g!age+s +as seg!i+tes Ereas)
1.%.1.1 <etrocompati/ilidade
> 9TFL7 estE se+do dese+volvida e% dois +=veis de re&!isitos de co+Dor%idades. *e&!isitos para a!tores e re&!isitos para age+tes de !s!Erio. Co+sidere$ para il!strar a diDere+"a +essa Erea$ os ele%e+tos isindex e plaintext. /e acordo co% a 9TFL8$ esses ele%e+tos est#o e% des!so LdeprecatedM e seria% a+idos das pr:Ai%as es6 peciDica";es para a 9TFL. 3eg!+do os pri+c=pios de dese+volvi%e+to da 9TFL7$ esses ele%e+tos perde% s!a co+di"#o de Te% des!soU e passa% a ser co+siderados ele%e+tos o soletos Lo soletesM. > diDere+"a ' &!e eles +#o ser#o a+idos da espe6 ciDica"#o. Co+ti+!ar#o co+sta+do co%o re&!isitos para age+tes de !s!Erio e se! !so pelos a!tores ' desaco+selhado.
#&
Na prEtica isso sig+iDica &!e os Da rica+tes de age+tes de !s!Erio deve% i%ple6 %e+tar D!+cio+alidades &!e per%ita% reco+hecer e re+deri(ar apropriada%e+te a&!eles ele%e+tos +os dispositivos D!t!ros$ %!ito e% ora o !so deles$ pelos a!tores$ seSa desaco+selhado. Na 9TFL7 +#o eAiste% ele%e+tos e% des!so LdeprecatedM co% o se+tido &!e a palavra te% +a 9TFL8. H %es%o aco+tece co% o!tros ele%e+tos e% des!so seg!+do a 9TFL8$ co%o os ele%e+tos ,ont$ u$ s etc.
1.%.2 Sinta3e
> especiDica"#o para a 9TFL7 deDi+e !%a si+taAe &!e ' co%pat=vel ta+to co% a 9TFL &!a+to co% a R9TFL. Hs doc!%e+tos !sa+do a si+taAe 9TFL co% o tipo de F2FE text/html s#o parseados seg!+do regras co%pat=veis co% as at!ais i%ple%e+ta";es pop!lares. H serve a seg!ir !% eAe%plo de %arca"#o 9TFL)
<-./(T01% 2T34 15&4"( 6-//73(//.T. 2T34 8.91 Transitional//%)6 6http://www.w3.org/TR/html8/loose.dtd6> <html lang:6pt-br6> <head> <meta http-e#ui!:6(ontent-T'pe6 content:6text/html; charset:ut,-<6> <title>T=tulo da p>gina</title> <lin? rel:6st'lesheet6 t'pe:6text/css6 hre,:6/estilos/main.css6> </head> <bod'> <h1>3inha p>gina 2T348</h1> </bod'> </html>
#1
HTML 5
1.%.2.1 6;!T=+'
> declara"#o ./(T01% Ltipo de doc!%e+toM deve ser Deita +a pri%eira li+ha da %arca"#o 9TFL para gara+tir re+deri(a"#o +o %odo sta+dard. ,ara %aiores i+Dor%a";es$ ver) http://mauAor.com/w3ctuto/#atips/doct'pe.html. Nada deverE eAistir aci%a da declara"#o de /HCTZ,E +e% %es%o !%a li+ha e% ra+co. EAiste% do(e diDere+tes /HCTZ,E3 para !so e% doc!%e+tos 9TFL e R9TFL e todos eles s#o ver osos e diD=ceis de se g!ardar +a %e%:ria. Todos eles Da(e% reDe6 rG+cia e co+tG% !% li+C apo+ta+do para !% doc!%e+to co% as regras de si+taAe para a vers#o 9TFL o! R9TFL +a &!al o doc!%e+to Doi escrito. E% 9TFL7 o ./(T01% Doi si%pliDicado$ +#o have+do %ais +ecessidade do li+C$ e o ./(T01% eAiste co% a I+ica D!+"#o de ha ilitar a re+deri(a"#o e% %odo sta+dard para doc!%e+tos escritos co% a si+taAe 9TFL. Hs +avegadores SE e+te+de% a declara"#o ./(T01% seg!+do a si+taAe 9TFL7.
Co% !so do parW%etro charset +o ca e"alho 9TT, (ontent-T'pe. Pso de !% caractere P+icode 4yte Hrder FarC L4HFM +o i+=cio do doc!6 %e+to. Pso do ele%e+to meta co% o atri !to charset.
#2
E% 9TFL7 a declara"#o da codiDica"#o de caracteres co% !so do ele%e+to meta Doi si%pliDicada$ pois +#o hE %ais a +ecessidade dos atri !tos http-e#ui! e content. Co+t!do$ co+v'% +otar &!e a si+taAe 9TFL8 para esse ele%e+to ta% '% ' vElida e% 9TFL7 e$ se vocG a preDerir$ pode !sE6la se% pro le%as. ,ara %aiores i+Dor%a6 ";es$ ver) http://www.w3.org/"nternational//-charset.
3e vocG prete+de servir se! doc!%e+to 9TFL7 para a&!eles +avegadores$ precisa i+serir !% %eca+is%o capa( de Da(er co% &!e eles reco+he"a% os +ovos ele%e+tos
$0
HTML 5
da li+g!age%. Tal %eca+is%o ' oDerecido pelo %'todo create%lement*+ da <ava3cript$ co+Dor%e %ostrado a seg!ir)
<---Di, lte "% <E> <script>
document.createElement("xpto");
</script> <-Dendi,E-->
EAiste% aproAi%ada%e+te tri+ta +ovos ele%e+tos +a 9TFL7 e !%a alter+ativa para o script$ cria+do todos esses ele%e+tos i+divid!al%e+te da Dor%a co%o %os6 trada a+terior%e+teV Doi dese+volvida por *e%y 3harp &!e aprese+to! o script e% !%a %at'ria +o se! log$ dispo+=vel para co+s!lta e% http://rem'sharp.com/299F/91/9G/
html@-enabling-script/
H script de *e%y 3harp e+co+tra6se hospedado +o Qoogle e% e+dere"o pI licoV pode%os criar e% +ossos doc!%e+tos !% hotlink para o script$ i+seri+do6o +a se"#o head do doc!%e+to$ co%o %ostrado a seg!ir)
<---Di, lte "% <E> <script src:6http://html5shim.googlecode.com/svn/trunk/html5.js6></script> <-Dendi,E-->
$1
> i lioteca Doi dese+volvida por 0ar!C >te\ co% a cola ora"#o de ,a!l 2rish e e+co+tra6se dispo+=vel para do.+load e% www.moderniHr.com. H script da i lioteca cria !% o Seto <ava3cript de+o%i+ado Foder+i(r e vE6 rias propriedades para esse o Seto. >s propriedades e %'todos criados tG% +o%es idG+ticos aos das +ovas D!+cio+alidades a detectar. H serve os eAe%plos a seg!ir)
3oderniHr.can!as; 3oderniHr.audio; 3oderniHr.borderradius; 3oderniHr.multiplebgs; // propriedade para !eri,icar suporte ao no!o elemento can!as // propriedade para !eri,icar suporte ao no!o elemento audio // propriedade para !eri,icar suporte a bordas arredondadas das (II3 // propriedade para !eri,icar suporte a m$ltiplos bac?grounds das (II3
P%a ve( li+Cada a i lioteca a !% doc!%e+to .e $ pode%os testar o s!porte a !%a +ova D!+cio+alidade$ co+Dor%e eAe%plo a seg!ir$ e% &!e testa%os o s!porte para o ele%e+to can!as.
i, *!oderni"r.canvas+ B // script para uso de can!as C else B alert*64amentoJ seu na!egador nKo suporta can!as6+; C
> i lioteca cria e adicio+a classes ao ele%e+to html$ oDerece+do ao dese+volvedor a possi ilidade de estili(ar diDere+ciada%e+te !% o! %ais ele%e+tos +a pEgi+a co+Dor%e o +avegador oDere"a o! +#o s!porte a deter%i+ada D!+cio+alidade. 3!po+ha o seg!i+te ce+Erio para eAe%pliDicar o !so dessas classes) 3e o +avegador oDerecer s!porte para %Iltiplos acCgro!+ds$ os parEgraDos do doc!%e+to ser#o +a cor ver%elhaV se +#o s!portar$ ser#o +a cor a(!l. > i lioteca ide+tiDica o s!porte pelo +avegador e acresce+ta a classe co% o +o%e multiplebgs ao ele%e+to html. N#o have+do s!porte$ o +o%e da classe acresce+tada ' no-multiplebgs e a Dolha de estilos para resolver o pro le%a proposto +o ce+Erio criado ')
<st'le>
Notar &!e o acr'sci%o da classe$ co%o %ostrado$ possi ilita !%a a!tG+tica co+6 dicio+al +a Dolha de estilos$ pois as regras %ostradas c!%pre% a %es%a Di+alidade da co+dicio+al %ostrada +o script a seg!ir.
$2
<script> !ar para : document.get%lements&'Tag)ame*6p6+;
HTML 5
i$ (!oderni"r.multiple gs) B
,or *!ar i:9; i<para.length; i + B paraDiE.st'le.color : 6red6; C
% else &
,or *!ar i:9; i<para.length; i + B paraDiE.st'le.color : 6blue6; C
%
</script>
H!tra D!+cio+alidade i%porta+te da i lioteca ' &!e ela agrego! o script de6 se+volvido por *e%y 3harp$ %ostrado +o ite% 1.1.8$ &!e Da( co% &!e o +avegador 2+ter+et EAplorer$ +as vers;es 8 e a+teriores$ reco+he"a$ para Di+s de aplica"#o de estili(a"#o$ os +ovos ele%e+tos da 9TFL7. >ssi%$ o !so da i lioteca dispe+sa o !so do script de *e%y 3harp. >t!al%e+te +#o eAiste !% e+dere"o pI lico de hospedage% da i lioteca para i+corporE6la aos +ossos doc!%e+tos co% !so de !% hotlink. YocG deverE Da(er o do.+load da i lioteca$ hospedE6la +o se! servidor e li+CE6la Os s!as pEgi+as$ co+Dor%e %ostrado a seg!ir)
<-./(T01% html> <html lang:6pt-br6> <head> ... <script src'"path/moderni"r#v.n.min.js"></script> </head> <bod'> ...
Faiores detalhes so re a i lioteca$ i+cl!i+do a rela"#o de todos os o Setos$ propriedades e classes por ela criadas e+co+tra%6se e% http://www.moderniHr.com/docs/.
$#
a preDerG+cia pessoal do a!tor. Escrever 9TFL7 co% ase +essas regras sig+iDica prod!(ir !% doc!%e+to 9TFL7$ o! e% co+Dor%idade co% a si+taAe 9TFL. ,or o!tro lado$ a 9TFL7 pode ta% '% seg!ir a si+taAe RFL e ser escrita seg!+do s!as regras &!e s#o e% r=gidas$ pois +#o ad%ite%$ por eAe%plo$ valores de atri !tos se% aspas o! ap:stroDes e tags se% Decha%e+to. 3e vocG dese+volve R9TFL$ deve estar e% Da%iliari(ado co% essa si+taAe. Escrever 9TFL7 co% ase +as regras da RFL sig+iDica prod!(ir !% doc!%e+to R9TFL7$ o! e% co+6 Dor%idade co% a si+taAe RFL. Nessa se"#o aprese+tare%os as Dor%as de escrever 9TFL7 seg!+do as diversas si+taAes per%itidas pela li+g!age%$ dese+volve+do alg!+s te%plates il!strativos. >+tes de passar%os aos te%plates$ Da"a%os alg!%as co+sidera";es so re a %arca"#o R9TFL. 3eSa vocG !% dese+volvedor eAperie+te$ seSa !% i+icia+te &!e cria co+teIdos co% !so de %arca"#o 9TFL$ ' &!ase certo &!e$ assi% co%o e!$ dese+volve se!s doc!%e+tos seg!+do as regras da R9TFL. EAiste% %ilh;es de pEgi+as +a 2+ter+et dese+volvidas co% essa %arca"#oV isso por&!e &!e% as crio! estava se prepara+do para o D!t!ro$ pois at' o i+=cio de 2005 o NKC alardeava &!e o D!t!ro da 9TFL era a R9TFL e &!e +#o haveria +ovas vers;es da 9TFL. H o Setivo do NKC ao criar a R9TFL Doi proporcio+ar %eios aos dese+volve6 dores de i+cl!ir as D!+cio+alidades da RFL +os doc!%e+tos para a .e . E% %ar"o de 2005$ Ti% 4er+ers6Lee p! lico! !% press release aDir%a+do o seg!i+te)
>p:s a p! lica"#o do 9TFL8 e seg!i+do as co+cl!s;es do NorCshop 1998$ o NKC Doco! +a tra+sDor%a"#o do 9TFL e% !% Dor%ato co% ase e% RFL cha%ado R9TFL devido aos e+eD=cios pr:prios do Dor%ato RFL. > pri%eira reco%e+da"#o R9TFL co%pleta Doi p! licada +o i+=cio de 2000. Co+t!do$ devido ao %aci"o legado do co+teIdo Ne $ co% ase e% varia";es do 9TFL$ os Da rica+tes de +avegadores co%e"ara% vagarosa%e+te a adotar o R9TFL. 2sso res!lto! e% po!ca %otiva"#o para os dese+volvedores de co+teIdos adotar o R9TFL e% se! a% ie+te tradicio+al de dese+volvi%e+to. EApoe+tes das co%!+idades de dese+volvedores e de desig+ apelara% ao NKC para a +ecessidade !rge+te de !%a revis#o dos se!s co%pro%issos co% o 9TFL$ acresce+ta+do +ovas D!+cio+alidades La co%e"ar co% a Nor%a para 9TFL8M e% !%a %a+eira &!e seSa co+siste+te co% as prEticas da co%!+idade e ao %es%o te%po retroco%pat=veis. H NKC gara+tirE i+teropera ilidade por %eio da i%ple%e+ta"#o de s!=tes de testes ro !stas e de servi"os de valida"#o para as D!t!ras tec+ologias e &!e estar#o O disposi"#o da co%!+idade.
$$
HTML 5 H NKC co% o Dorte s!porte dos se!s Fe% ros e co% %ais rec!rsos Lta+to e% pessoal &!a+to e% hard.areM te% o pra(er de reto%ar os tra alhos para o 9TFL. H NKC %odiDico! os Estat!tos do Qr!po de Tra alho do 9TFL co% o prop:sito de per%itir a eDetiva participa"#o dos Da rica+tes de +avegadores$ proSetistas de aplica";es e dese+volvedores de co+teIdos$ pois depe+de do tra alho co+S!+to dessas pessoas o s!cesso do 9TFL do D!t!ro.
Estava decretada a %orte da R9TFL e% Davor da 9TFL7. Co+t!do$ o legado da R9TFL per%a+ece e vocG &!e SE se acost!%o! co% a si+taAe r=gida da %ar6 ca"#o +#o terE de rever o &!e apre+de!$ pois ela co+ti+!a perDeita%e+te vElida +a 9TFL7$ assi% co%o ' vElida ta% '% a si+taAe 9TFL8 %!ito %e+os r=gida e %ais co%place+te do &!e a da R9TFL. P% doc!%e+to R9TFL para ser p!ro e poder se e+eDiciar das D!+cio+alidades da RFL ? e Doi para isso &!e a R9TFL Doi criada ? deve ser servido co% o tipo de F2FE application/xml o! application/xhtml xml. Co+t!do$ a %aioria dos doc!%e+tos R9TFL +a .e ' servida co% o tipo F2FE para 9TFL text/html$ o &!e sig+iDica &!e +#o s#o co+Dor%es co% a RFL. > te+tativa de o NKC evol!ir a 9TFL para co+Dor%idade co% RFL Dracasso!$ por&!e pEgi+as R9TFL servidas co%o RFL &!e co+te+ha% &!al&!er viola"#o co% a si+taAe RFL ca!sar#o !% erro Datal de parsea%e+to e a pEgi+a si%ples%e+te +#o serE re+deri(ada. ,or o!tro lado$ apesar da rigide( co% o trata%e+to de erros$ a si+taAe R9TFL Doi e% rece ida pelos dese+volvedores e ' a%pla%e+te !sada. H serve a %arca"#o R9TFL a seg!ir)
()php header(*+ontent#,ype: application/xhtml-xml*); ).
<-./(T01% html 15&4"( 6-//73(//.T. L2T34 1.9 Transitional//%)6 6http://www.w3.org/TR/xhtml1/.T./xhtml1-transitional.dtd6> <html xmlns:6http://www.w3.org/1FFF/xhtml6> <head> <meta http-e#ui!:6(ontent-T'pe6 content:6text/html; charset:ut,-<6 /> <title>1>gina L2T34</title> <st'le t'pe:6text/css6 media:6all6> /M regras de estilo M/ </st'le> </head> <bod'> <h1>1>gina com marcaNKo L2T34</h1> <p>%ssa p>gina contOm marcaNKo L2T34 <strong class:6desta#ue6>sem erros</strong></p>
$5
,ara de%o+strar o eAe%plo &!e dese+volve%os$ i+seri%os +a pri%eira li+ha da pEgi+a co+te+do a %arca"#o R9TFL a D!+"#o header*+ do ,9,$ co% a Di+alidade de servir a pEgi+a co%o aplica"#o RFL. H doc!%e+to estE de acordo co% a si+taAe RFL e serE re+deri(ado +or%al%e+te e% +avegadores &!e s!porta% RFL. Ya%os s!por &!e o dese+volvedor do eAe%plo te+ha se es&!ecido de !sar aspas +o valor desta#ue da classe para o ele%e+to strong i+serido +o pri%eiro parEgraDo$ co%o %ostrado a seg!ir.
<p>%ssa p>gina contOm marcaNKo L2T34 <strong class:desta/ue>sem erros</strong></p>
3e o doc!%e+to Dor servido co% o tipo de F2FE text/html$ o erro de %arca"#o serE ig+orado pelo +avegador e a re+deri(a"#o do doc!%e+to serE +or%al. Co+t!do$ servi+do o doc!%e+to co%o RFL co% o tipo de F2FE application/xml o! application/ xhtml xml o erro serE Datal e +#o haverE re+deri(a"#o$ co+Dor%e Dig!ras 1.1 e 1.2. Na Dig!ra 1.1 %ostra%os a +#o re+deri(a"#o da pEgi+a +os +avegadores 0ireDoA e 3aDari.
$%
HTML 5
Notar &!e +#o hE !% padr#o de aprese+ta"#o da %e+sage% de erro$ a %a+ei6 ra de aprese+tE6lo ao !s!Erio diDere de !% +avegador para o!tro. H +avegador Hpera$ ao aprese+tar a %e+sage% de erro$ oDerece adicio+al%e+te !% li+C para a re+deri(a"#o da pEgi+a co%o se o erro +#o eAistisse. ,or o!tro lado$ o +avegador 2+ter+et EAplorer$ &!e +#o oDerece s!porte para RFL$ co%porta6se aprese+ta+do ao !s!Erio !%a caiAa de diElogo co% op"#o de a rir o ar&!ivo co% o!tro progra%a o! salvE6lo L0ig!ra 1.2M.
Essa rigide( +o trata%e+to de erros co+tri !i! %!ito para a +#o ado"#o da R9TFL co%o RFL pelos dese+volvedores. Esti%a6se &!e %ais de 97] das pEgi6 +as .e co+te+ha% pelo %e+os !% erro de %arca"#o. ^!e% se arriscaria a ter se! site T&!e radoU por co+ta de !%a distra"#o o! !% %=+i%o e+ga+o i+vol!+tErio[
$&
> %arca"#o %ostrada a+terior%e+te valida co%o 9TFL7$ co+t!do a %arca"#o a seg!ir +#o valida.
<-./(T01% html> <title>Template</title> <--- Q#ui os conte$dos da p>gina -->
Notar &!e +a pri%eira %arca"#o o co%e+tErio 9TFL i+serido +a Ilti%a li+ha do c:digo %ostrado co+t'% !% teAto +#o ace+t!ado e +a seg!+da %arca"#o o teAto Doi ace+t!ado. H !so de caracteres +#o >3C22 Ltais co%o ace+t!a"#oM +a %arca"#o 9TFL7$ %es%o e% co%e+tErios$ o riga &!e se declare eAplicita%e+te a codiDica"#o de ca6 racteres. 3e isso +#o Dor Deito$ a re+deri(a"#o dos caracteres +#o >3C22 serE tr!+cada e o doc!%e+to +#o passarE +o validador. >ssi%$ chega%os ao te%plate %=+i%o$ co+Dor%e %ostrado a seg!ir)
<-./(T01% html> <title>Template</title> <meta charset:ut,-<> <--- Q#ui os conte$dos da p>gina -->
evide+te &!e esse te%plate %=+i%o +#o deve ser !sado e% !% site real$ %as vocG poderE !sE6lo para testes e eAperiG+cias co% a li+g!age% 9TFL7. > si+taAe para /HCTZ,E ' case i+se+sitive L+#o disti+g!e %i+Isc!las de %ai6 Isc!lasM$ o &!e sig+iDica &!e &!al&!er !%a das si+taAes seg!i+tes ' perDeita%e+te vElida.
<-./(T01% html> <-doct'pe html> <-./(T01% 2T34> <-doct'pe 2T34> <-.oct'1% hT3l>
>pesar da DleAi ilidade co% a si+taAe$ aco+selho a !sar a pri%eira o! a seg!+6 da Dor%a %ostrada$ &!e s#o a&!elas preDeridas pela %aioria dos dese+volvedores. Escolha e+tre as d!as a &!e %ais lhe agrada e siga co% ela. %!ito provEvel &!e vocG esteSa Da%iliari(ado co% !%a si+taAe 9TFL para declara"#o de caracteres +o doc!%e+to co% o !so do ele%e+to meta$ co+Dor%e %ostrado a seg!ir.
<meta http-e#ui!:6(ontent-T'pe6 content:6text/html; charset:ut,-<6>
$1
HTML 5
,elo pri+c=pio da co%pati ilidade$ a 9TFL7 co+ti+!a a oDerecer s!porte para a si+taAe da 9TFL e vocG$ se preDerir$ pode !sE6la +os doc!%e+tos +ovos o! deiAE6la co%o estE +os doc!%e+tos eAiste+tes %igrados para a 9TFL7. Tal co%o +a 9TFL$ e% 9TFL7 o !so de aspas o! ap:stroDes +os valores dos atri !tos ' Dac!ltativoV assi%$ as d!as si+taAes %ostradas a seg!ir s#o vElidas.
<meta charset:ut,-<> <meta charset:6ut,-<6>
Co%o SE disse%os$ a si+taAe 9TFL7 ' co%pat=vel ta+to co% a 9TFL &!a+to co% a R9TFLV porta+to$ se vocG estE cria+do !% doc!%e+to R9TFL$ terE de Dechar as tags e !sar aspas e% +o%es de atri !to. /everE escrever co%o %ostrado a seg!ir)
<meta charset:6ut,-<6 />
$2
H ele%e+to meta desti+a6se a Dor+ecer %etadados$ o! seSa$ i+Dor%a";es adicio+ais so re a pEgi+a. 2+Dor%a";es essas &!e +#o pode% ser tra+s%itidas co% !so dos de%ais ele%e+tos per%itidos +a se"#o head do doc!%e+to. Hs atri !tos previstos +as especiDica";es da 9TFL7 para o ele%e+to meta s#o) name$ http-e#ui!$ content e charset$ al'% dos atri !tos glo ais. 3e%pre &!e o atri !to name o! http-e#ui! Dor deDi+ido$ deve6se deDi+ir ta% '% o atri !to content. Nesses casos$ o %etadado ' do tipo par +o%e/valor +o &!al o valor do atri !to name ' o +o%e +o par e o valor do atri !to content ' o valor +o par. > &!a+tidade de ele%e+tos meta a i+serir +a se"#o head do doc!%e+to e o tipo de %etadado a codiDicar s#o D!+";es de cada proSetoV +o eAe%plo %ostrado$ os ele%e+tos Dora% i+seridos ape+as a t=t!lo de il!stra"#o$ assi% a&!ela se"#o +#o prete+de ser !% g!ia r=gido de %etadados. No eAe%plo$ i+seri%os +a se"#o head$ ta% '% a t=t!lo de il!stra"#o$ os ele%e+tos lin?$ st'le e script. Notar &!e todos os valores de atri !tos +a %arca"#o %ostrada est#o e+tre aspas.
50
<head> <meta charset:ut,-<> <title>Template</title> <meta name:description content:6Template 2T34@ do li!ro do 3auAor.6> <meta name:?e'words content:6lista de pala!ras-cha!e6> <meta name:author content:63auricio Iam' Iil!a6> <meta name:generator content:62T34-Rit 2F26> <meta name:robots content:all> <lin? rel:st'lesheet hre,:mais.css> <st'le> /M estilos incorporados M/ </st'le> <script src:6path/moderniHr-1.@.min.As6></script> <script src:scripts.As></script> </head> <bod'> <--- Q#ui os conte$dos da p>gina --> </bod'> </html>
HTML 5
Nessa vers#o %ostra%os a si+taAe alter+ativa &!e ad%ite valores de atri !tos se% aspas. Fas por &!e co+serva%os as aspas e% alg!+s valores do atri !to content[ Notar &!e para os casos e% &!e isso ocorre! o valor do atri !to ' !%a Drase o! co+S!+to de palavras separadas por espa"os e$ se tirar%os as aspas$ o valor do atri !to deiAa de ser I+ico$ o &!e +#o ' vElido. Co% aspas$ o parser 9TFL i+terpreta o valor do atri !to co%o !%a s: stri+g. Notar &!e$ para o ele%e+to meta &!e Dor+ece i+Dor%a6 ";es para os ro 1s &!e visita% a pEgi+a$ o valor do atri !to content estE se% aspas$ pois tal valor ' !%a s: palavra.
51
Nessa vers#o o te%plate ' co%pat=vel co% a si+taAe RFL$ pois valores de atri !to est#o e+tre aspas e ele%e+tos va(ios est#o Dechados. Co+v'% ressaltar &!e$ e% ora escrito co% a si+taAe RFL$ o te%plate +#o estE apto a se valer das D!+cio+alidades da RFL e deverE ser servido co% o tipo de F2FE text/html.
(meta charset'"ut$#5" /.
<title>Template</title> <meta name:6description6 content:6Template 2T34@ do li!ro do 3auAor.6 /> <meta name:6?e'words6 content:6lista de pala!ras-cha!e6 /> <meta name:6author6 content:63auricio Iam' Iil!a6 /> <meta name:6generator6 content:62T34-Rit 2F26 /> <meta name:6robots6 content:6all6 /> <lin? rel:6st'lesheet6 hre,:6mais.css6 /> <st'le> /M estilos incorporados M/ </st'le>
52
<script src:6path/moderniHr-1.@.min.As6></script> <script src:6scripts.As6></script> </head> <bod'> <--- Q#ui os conte$dos da p>gina --> </bod'> </html>
HTML 5
Nessa vers#o o te%plate ' co%pat=vel co% a si+taAe RFL e apto a valer6se das D!+cio+alidades da RFL deve+do ser servido co% o tipo de F2FE application/xml o! application/xhtml xml. E% doc!%e+tos RFL$ +#o hE +ecessidade da declara"#o de /HCTZ,E$ pois por padr#o a re+deri(a"#o aco+tece e% %odo sta+dard. Ta% '% +#o hE +ecessidade de declara"#o da codiDica"#o de caracteres$ pois por padr#o ela ' e% PT068. Co+t!do$ ' i+dispe+sEvel &!e se declare o atri !to xmlns +o ele%e+to6rai( do doc!%e+to apo+ta+do para o ar&!ivo &!e co+t'% o +a%espace para RFL. Notar ai+da &!e o atri !to para deDi+i"#o do pri+cipal idio%a +o &!al os co+teIdos do doc!%e+to Dora% escritos ' xml:lang e +#o lang co%o +a si+taAe 9TFL.
(meta charset'"ut$#5" /.
<title>Template</title> <meta name:6description6 content:6Template 2T34@ do li!ro do 3auAor.6 /> <meta name:6?e'words6 content:6lista de pala!ras-cha!e6 /> <meta name:6author6 content:63auricio Iam' Iil!a6 /> <meta name:6generator6 content:62T34-Rit 2F26 />
5#
> %arca"#o poliglota deve satisDa(er aos seg!i+tes re&!isitos) H /HCTZ,E$ co%o prevG a RFL$ deve ser declarado e% %aiIsc!las e o ht%l &!e se seg!e ao /HCTZ,E deve ser e% %i+Isc!las. Le% re6se de &!e e% 9TFL a si+taAe ' i+se+s=vel ao ta%a+ho de caiAa$ %as e% %arca"#o poliglota ' r=gida. Hs ele%e+tos html$ head$ title e bod' deve% o rigatoria%e+te co+star da %arca"#o. H ele%e+to html deve o rigatoria%e+te co+ter os atri !tos xmlns$ lang e xml:lang. Hs +a%espaces RFL per%itidos e% %arca"#o poliglota s#o a&!eles para as tec+ologias 3YQ e FathFL e deve% ser declarados +os ele%e+tos s!g e math res6 pectiva%e+te$ co+Dor%e si+taAe %ostrada a seg!ir)
<s!g xmlns : 6http://www.w3.org/2999/s!g6>...</s!g> <math xmlns:6http://www.w3.org/1FF</3ath/3ath346>...</math>
H o!tro +a%espace per%itido ' para xlin? &!e pode ser declarado ta+to +o ele%e+to html &!a+to +o ele%e+to s!g &!e co+te+ha essa D!+cio+alidade$ co%o %ostrado a seg!ir)
<html xmlns:6http://www.w3.org/1FFF/xhtml6 xmlns:xlin?:6http://www.w3.org/1FFF/xlin?6 lang:6pt-br6 xml:lang:6pt-br6>
o!
<s!g xmlns:xlin?:6http://www.w3.org/1FFF/xlin?6>...</s!g>
> declara"#o de caracteres deve co+star da se"#o head do doc!%e+to. > si+taAe da %arca"#o deve seg!ir as regras da RFL. ,ara %aiores i+Dor%a";es so re si+taAe RFL$ co+s!lte) http://www.mauAor.com/w3c/xhtml19S2ed.html e http://www.mauAor.
com/w3ctuto/xhtml,a#.html.