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 "&". 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