Wstęp
Wszystkie informacje o błędach validatora są opisane na stronie Explanation of the error messages for the W3C Markup Validator.
Użycie
Strony testuje się on-line pod adresem validator.w3.org.
- Validate by URL
- Sprawdzi stronę pod wskazanym adresem. Należy pamiętać o podaniu http:// w adresie.
- Validate by File Upload
- Sprawdzi wskazany plik wgrany z lokalnego dysku. W ten sposób nie można sprawdzać plików PHP.
Błędy znajduje także i dodatkowo próbuje naprawić HTML Tidy.
W Operze można automatycznie wysłać do Validatora każdą aktualnie otworzoną stronę skrótem klawiszowym Ctrl+Alt+V. Są dostępne dodatkowe przyciski dla Opery, umożliwiające sprawdzenie HTML i CSS.
Błędy
- Brak DOCTYPE
-
Obecnie jest wiele odmian i wersji języka HTML. Zarówno przeglądarka jak i validator, aby poprawnie zinterpretować stronę, muszą wiedzieć, z jaką odmianą języka mają do czynienia. Należy wybrać i umieścić w kodzie odpowiedni DOCTYPE (lista doctype'ów na W3C). Najbardziej tolerancyjny i najczęściej stosowany jest HTML 4.01 Transistional. Zaleca się używanie XHTML/1.0 Strict, znacznie nowszego i kompatybilnego z XML, ale jego użycie często przerasta umiejętności webmasterów.
- there is no attribute "TOPMARGIN", "BACKGROUND", "HEIGHT"
-
To są niestandardowe atrybuty. Zamiast nich z powodzeniem można użyć ich odpowiedników w CSS.
-
Zamiast TOPMARGIN="20" w arkuszu stylów wystarczy podać:
body { 0; padding-top: 20px;}
Różne przeglądarki mają różne domyślne ustawienia margin i padding, więc gdy ustawia się jedno, należy też drugie.Zamiast <td background="tlo.jpg" bgcolor="#112233"> najlepiej użyć kodu HTML:
<td class="przyklad">
oraz CSS:
.przyklad {background: #123 u rl('tlo.jpg');} - missing attribute TYPE
-
Zamiast <style> należy użyć <style type="text/css">.
Zamiast <script language="javascript"> należy użyć <script type="text/javascript">. VisualBasic nie powinien znaleźć się na WWW.
- missing attribute ALT
-
Wszystkie obrazki muszą mieć atrybut ALT krótko je opisujący. Jeśli obrazek jest elementem dekoracyjnym, to zamiast zbłędnego opisu typu "zielona kropka" należy podać pusty ALT.
<img src="przyklad.jpg" alt="przykladowa opisana grafika">
<img src="kropka.gif" alt=" "> - HTML i skrypty
-
Mało kto zdaje sobie sprawę, że ciąg "</" nie ma prawa wystąpić w skrypcie (aby przeglądarki nierozumiejące treści skryptu mogły łatwo go ominąć). Są 2 rozwiązania:
- Każde wystąpienie "</" zamienić na "<\/", np.: document.write('<h1>hello<\/h1>');
- Otoczyć cały skrypt blokiem CDATA:
<script type="text/javascript">//<![CDATA[
treść skryptu
//]]></script>
Można zamiast bloku CDATA użyć komentarza HTML, ale wtedy w kodzie nie może wystąpić "--", np. var--;. Trzeba także pamiętać, że komentarz otwarty wewnątrz <script> musi być zamknięty - inaczej nie spełni swojego zadania, a wręcz spowoduje zignorowanie reszty strony przez niektóre przeglądarki.
- SGML entities
-
Wszystkie znaki "&" w adresach muszą być zamienione na "&". Odnośniki są także treścią HTML i jako takie muszą być w nim napisane. Jest to konieczne, aby uniknąć mylenia się parametrów w odnośnikach ze znakami specjalnymi (encjami) HTML (np. gdyby odnośnik miał zawierać parametry nazwane nbsp, amp, pound, itp.).
Poprawianie "&" w odnośnikach faktycznie może być uciążliwe. Na statycznych stronach można je automatycznie poprawić za pomocą HTML Tidy. W PHP należy użyć funkcji htmlspecialchars(), np.
echo '<a href=''">link</a>';Jeśli problem dotyczy twojej strony, najwygodniej zmienić system odnośników, używając mod_rewrite w Apache. Zamiast strona/index.php?id=bla&bla, używać prostego strona.com/bla/bla
Bariera językowa
Dla osób, które nie chcą się zmagać z anglojęzycznym validatorem W3C pomocny może być polski program Tagik. Niestety, nie obsługuje on wszystkich wersji HTML, dlatego nie może on zastąpić całkowicie validatora W3C.
Źródło: http://osiolki.net/faq/validator