it-swarm-eu.dev

Ověřování HTML: stojí to za to?

Jaké jsou výhody a nevýhody (pokud existují) zajištění toho, aby se všechny stránky ověřovaly ve srovnání s neplatným HTML, které však funguje ve všech hlavních prohlížečích?

Je také důležité mít platný HTML po spuštění Javascriptu stejně důležité?

52
Thomas Bonini

Myslím, že to rozhodně stojí za to , ale nikdy byste neměli být otrokem pro ověření - je to bláznivá hra.

http://www.codinghorror.com/blog/2009/03/html-validation-does-it-matter.html

  1. Ověřte svůj HTML. Zjistěte, co to znamená mít platné HTML označení. Porozumět nástrojům. Více informací je vždy lepší než méně informací. Proč létat slepě?

  2. Nikdo se nestará, jestli je váš HTML platný. Pokud chcete. Nemyslete si na vteřinu, že výroba dokonale platného HTML je důležitější než provozování vašich webových stránek, poskytování funkcí, které potěší vaše uživatele nebo dokončení práce.

42
Jeff Atwood

Považuji platný HTML za účelný cíl, ale nevidím ho jako vše a konec budování dobrých webových stránek.

Trik je, že vaše značka může být dokonale platná, ale nemusí být sémantická - např. pomocí tabulek pro rozvržení nebo navigaci. Existuje rozdíl mezi platným a sémantickým kódem.

Na další poznámku, pokud používáte reklamu nebo externí skripty, mohou vložit vlastní značení, které má šanci si opravdu pohrávat s vašimi vlastními.

32
Grant Palin

Myslím, že to stojí za to, protože jsem při pokusu o ověření chytil mnoho značkových a logických chyb. Je to jedna z těch „nezbytných, ale ne dostatečných“ věcí. Platný značkovací kód, jako je kód, který kompiluje (nebo se kontroluje pomocí JSlint) bez chyb, varování a rad, je dobrým prvním krokem k dosažení správnosti.

22
Alan

Velkou výhodou platného HTML je, že vaše stránka je pak přístupnější i pro jiné věci než „hlavní prohlížeče“. Všechny „hlavní prohlížeče“ mají nekonečné řešení, aby se vypořádaly se všemi neplatnými haraburdí, která naplňují WWW. Dodržování platného kódu HTML však pomáhá například, pokud někdo používá prohlížeč pro zrakově postižené nebo přistupuje k vašim stránkám off-line atd.

9
delete

Ověření samo o sobě není tak kritické, protože jen málo prohlížečů je 100% kompatibilních a specifikace není stoprocentně jasná v tom, jak interpretovat pravidla.

Platný kód HTML vám však dává lepší pozici pro přizpůsobení a vylepšení webu. Jak se standardy posouvají, obvykle se budou pohybovat vpřed a pokud je váš nový web platný, pak by měla být aktualizace na podporu nejnovějších jednodušší.

Spodní část, která je platná, usnadňuje zůstat na vrcholu hry a být co nejvíce kompatibilní s nejširším publikem.

8
MrChrister

Nejlepší přístup je zjistit, který neplatný HTML je špatný a který neplatný HTML nezáleží.

Například zapomenutí zavřít značku <div> je velmi špatné, protože vaše rozvržení se téměř jistě vyšplhá do jednoho nebo více prohlížečů.

Nezáleží však na použití <br> namísto <br /> v XHTML - všechny prohlížeče budou bez problémů interpretovat oba jako zalomení řádku. Použití atributu target na odkazech je neplatné, nejhorším scénářem je však to, že prohlížeč neotevře odkaz v novém okně.

4
DisgruntledGoat

Jedním z důvodů, proč se na webu ověřuje platnost HTML, je to, že zajišťuje, že pavouci vyhledávače budou moci plně indexovat a určit význam vašich stránek. Pokud to nemohou z důvodu chybně formátovaného HTML (které hlavní prohlížeče mohou z historických důvodů obejít), potenciálně omezujete hodnocení vyhledávače.

Došlo také ke spekulacím, že zatímco hlavní vyhledávače odvádějí dobrou práci při řešení nesprávně formátovaného HTML, mohou také přiřadit „body“ kvality stránky za platnost, což dále ovlivňuje vaši schopnost hodnotit tak vysoko, jak si váš obsah zaslouží.

3
JasonBirch

Opravdu si nemyslím, že na tom už záleží. Kdysi jsem byl otrokem pro validaci, nyní to jen zřídka někdy zkontroluji. Možná jsem vyhořela, když jsem se ujistila, že můj web je platný, nebo se mi to prostě už vůbec nezajímalo, protože to nikdo jiný nebude. Mohu zaručit, že 99,9% našich návštěvníků ani neví, co to je, a stejně tak se nestará, jestli ano. Budoucí prohlížečový software by mohl, ale až ten den přijde, budu se tím starat.

3
Ben

Při spuštění validátoru budete muset případ od případu prověřit chyby, které vám dává. Je validace důležitá? Ano, je to velmi důležité. Ale je to požadavek? Ne.

Věci, jako je použití stejného ID vícekrát (namísto třídy), vkládání prvků na úrovni bloků do prvků inline-level (obvykle se tyto prvky také nehodí semanticky), chybějící atributy alt na obrázcích (špatná dostupnost pro postižené ), jsou důležité. Věci jako neznámé atributy na značkách jsou NE Důležité. Vůbec. Rámce jazyka Javascript, jako je Dojo nebo ten strašidelný panel sociálních médií Meebo, používají vlastní atributy jako háčky a specifikace HTML uvádí, že jsou povoleny, a že jakýkoli neznámý atribut musí být ignorován. Validator je neignoruje, ale vyvolá chyby. Tyto chyby lze ignorovat.

Při ověřování nepředpokládejte pouze, že pokud máte chyby, děláte to špatně. Sémantika je nesmírně důležitější a právě tak se stává, že platný HTML je častěji než obvykle přirozený výsledek správné sémantiky.

3
Bryson

Bod, který ještě nikdo nezmínil, je, že neplatný HTML může způsobit pomalejší dobu vykreslování, zatímco se prohlížeč snaží zobrazovat nestandardní HTML při zobrazování.

2
BradB

Ověření je užitečné, protože vám může pomoci odhalit některé těžko chycitelné chyby, například

<input name=foo value=<?php echo htmlspecialchars($_GET['foo']); ?> />

nebo nepředvídatelné chování prohlížeče (například vložení blokových prvků do proměnné a se může v prohlížeči Firefox někdy poškodit).

2
Tgr

Některé chyby ověření HTML mohou způsobit neobvyklé problémy s rozvržením (např. Nesprávně vnořené/neuzavřené značky), chyby jazyka JavaScript (např. Použití id více než jednou) a problémy pro některé uživatele (např. Nezahrnují smysluplný nebo prázdný atribut alt na obrázcích) .

Pokud se všechny naše stránky potvrdí, je to pěkná automatická kontrola, kterou můžete vyloučit zdroje chyb. Pokud necháte nějaké chyby při ověřování, protože víte, že nezpůsobují žádné škody, váš šek již není automatizovaný: je třeba se podívat na každou chybu a uvědomit si, že je v pořádku. Osobně to dávám přednost, když počítače snižují množství práce, kterou musím udělat, než aby ji zvyšovaly.

1
Paul D. Waite

Jeden bod, o kterém se nikdo nezmínil, je budoucí vývoj prohlížeče. Přestože všechny dnešní prohlížeče zpracovávají neplatné značky poměrně dobře, nemusí tomu tak vždy být.

Tvůrci prohlížečů budou v budoucnu zajišťovat, aby jejich prohlížeče fungovaly podle standardů HTML/XHTML, takže by to měli zasáhnout i vývojáři webových stránek. Jen proto, že určitý kousek neplatného značkování funguje nyní, nezaručuje, že bude fungovat v budoucích prohlížečích.

1
Loftx

Platnost pomáhá vyhnout se nekompatibilitě a pomáhá udržovat kód udržovatelný. Prohlížeče se zotavují z chyb značkování, ale někdy velmi intuitivním způsobem.


  • Na základě DTD (HTML4, XHTML1 @ W3C) - Nestojí to za to. DTD je primitivní a např. Nemůže ověřit platnost většiny atributů. Většinou bude těžké porozumět chybám o entitách a vnoření.

  • HTML5 validátor - Ano . Rozhodně. HTML5 je pragmatičtější a umožňuje některé neškodné konstrukty, které byly dříve chybami. OTOH Henriho validátor je mnohem důkladnější a lepší při objevování skutečných problémů.


Platnost kódu generovaného JS může být důležitá, protože prohlížeče pracují na DOM, bez ohledu na to, jak byl vytvořen. Pokud používáte document.write(), pak se musíte dokonce postarat o správnou syntaxi (prochází stejným syntaktickým analyzátorem jako zdroj stránky).

1
Kornel

I když váš kód HTML funguje ve všech hlavních prohlížečích, stále stojí za to ho udělat, protože to někdy může způsobit problémy s prolézacími moduly vyhledávače, jako je googlebot. Podívejte se například na:

http://www.codeproject.com/KB/server-management/Google_Indexing_Problem.aspx

1
Mee

není nevýhodou mít platný html. existuje důvod, proč je na prvním místě specifikace a proč se do specifikace vkládá velké úsilí, aby se definovalo, jak by věci měly fungovat.

v podstatě vše, co získáte, je splnit specifikace. což zase znamená, že programy napsané pro čtení html (prohlížeče, roboty) vás nemohou obviňovat z nedodržení specifikací, pokud se něco pokazí. a některé z těchto programů vám poskytnou extrapoints (vyšší hodnocení ve vyhledávačích, pokud zpráva o botech „splňuje specifikace“). pokud splníte specifikace, budete překvapeni mnohem méně překvapením, pokud některé prohlížeče nevykreslí rozbitý HTML tak, jak si myslíte.

takže splnění specifikací a psaní platných html je pro vás dobré, žádné nevýhody.

1
akira

Google a Bing nepoužívají a nikdy nepoužívají validaci CSS nebo HTML jako hodnotící faktor.

Většina webových stránek má desítky až stovky chyb a nemusíte se o ně starat, protože o všechny vyhledávače záleží, jak se stránka vykresluje. Zajistěte, aby se vaše webové stránky vykreslovaly správně ve všech hlavních prohlížečích a Google's Fetch .

0
Simon Hayter