Validator ciągle się czepia!

Transkrypt

Validator ciągle się czepia!
Artykuł pobrano ze strony eioba.pl
Validator ciągle się czepia!
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 {margin-top: 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 url('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 "&amp;". 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=".htmlspecialchars($url).'">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.
Autor: osiolki.net
Przedruk ze strony: http://osiolki.net/faq/validator
Artykuł pobrano ze strony eioba.pl