XHTML 1.1 jest już standardem, jednak wielu młodych internautów korzysta z amatorskich poradników. Wiele książek narzuca stara, niemodną składnię tworzenia stron www, która może być w przyszłości źle interpretowana przez różnego rodzaju przeglądarki. Ok, zanim przejdziemy do omówienia najczęstszych błędów, warto zapoznać się z podstawowymi wiadomościami na temat XHTML.
Aby nasza strona na bieżąco spełniała standardy XHTML, musimy ją sprawdzać w walidatorze. Zamieszczony jest on pod adresem http://validator.w3.org. Narzędzie jest bardzo proste w obsłudze, nasz kod XHTML możemy sprawdzać na kilka sposobów:
- Podając URL do strony
- Wklejając kod źródłowy do pola tekstowego
- Uploadując plik z kodem XHTML
1. DOCTYPE
Aby w ogóle zacząć pracę z XHTML, przed jakimikolwiek znacznikami należy podać przeglądarce informację o tym, iż ma doczynienia z dokumentem XHTML. Informujemy ją o tym podając na samym początku dokumentu kod:
[html]< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">[/html]
2. Zakaz krzyżowania znaczników
Zasada znana już od wieków. Prawidłowymi przykładami są linie:
[html]some text
some text[/html]
ale nie linia, w której znaczniki krzyżują się:
[html]some text[/html]
NOTE: (powyzsze listingi sa tylko przykladami, zamiast b uzywa sie strong, a tagowi i odpowiada em)
3. Wszystkie znaczniki muszą być prawidlowo zamknięte.
Każdy otwarty znacznik który reprezentuje w sobie jakąś treść (contents) musi być odpowiednio zamknięty, dajmy dla przykładu [html]
…
,
…
[/html]. Są jednak wyjątki, znaczniki nie mające w sobie żadnej treści, na przykład obrazek, linia pozioma, znacznik załamania linii. Takie znaczniki zamykane są bezpośrednio przed kończącym znakiem tagu >, dla przykładu: [html]
,
[/html]
4. Nazwy znaczników piszemy małymi literami.
Wszystkie nazwy tagów, jego parametry piszemy zawsze małą literą, jeżeli tego nie zrobimy, validator uzna to jako błąd. Dodatkowo wszystkie parametry muszą znajdować się pomiędzy znakiem cudzysłowia “.
5. Nie używaj auto generatorów FrontPage
Linki FrontPage, generowany przez niego DHTML, formularze, liczniki wejść, foto galerie i wiele innych skryptów tworzonych automatycznie poprzez FrontPage często nie są zgodne z XHTML.Kod najlepiej pisac własnoręcznie.
6. Wszystkie obrazy i linki mają opis!
Każdy obraz ma wymagany atrybut alt=”" (dla linków jest to title=”"), który zawiera opis obrazka. Po co? Wykorzystywany jest przeglądarki w momencie, gdy obraz nie zostanie prawidłowo załadowany, lub jako alternatywa w przypadku przeglądarek tekstowym. Minimalny prawidłowy kod dla umieszczenia obrazka:
[html]
[/html]
7. Elementy liniowe w elementach blokowych.
Jest kilka elementów, które stanowią ciało dla treści strony (dla contentu): h1 (nagłówki), p (paragrafy, akapity), blockquote oraz hr. Te elementy mogą występować bezpośrednio w body, resztę tagów (z wyjątkami) należy umieścić w owych znacznikach. Prawidłowym zagnieżdżeniem tekstu jest:
[html]
Text in a page
[/html]
ale niedopuszczalny jest taki sposób:
[html]
Text in a page[/html]
8. Poprawny amperstand w tekście
Niewątpliwie częstym błędem programistów jest błędne stosowanie amperstandów w treści strony. Zamiast & należy użyć znaku specialnego &. Poniżej znajduje się błęda interpraetacja:
[html]Next[/html]
czas na przeróbkę:
[html]Next[/html]
9. Blokowe skryptowanie kodu.
Nauczeni jestesmy uzywac komentarzy w JavaScript oraz CSS w taki sposób: . Jest to sposób przestarzały, najlepiej wykorzystać ponyższy przykład:
[html]
[/html]
10. Pozbywamy się starych sposobów
Jest kilka przestarzałych elementów pochodzących jeszcze za czasów HTML, poniżej wypunktuję które elementy zastąpić prawidłowymi:
<script language="javascript"> zamienić na <script type="text/javascript">
<body topmargin="0" marginwidth="0" marginheight="0" leftmargin="0"> zamienić na styl CSS: body { margin: 0px; padding: 0px; }
<img src="picture.jpg" border="0" width="10" height="10" alt="Picture" /> (brak elementu border) zmienic na <img src="picture.jpg" width="10" height="10" alt="Picture" /> i w stylu dodać img { border: 0px; }
<img src="picture.jpg" hspace="5" width="10" height="10" alt="Picture" />, brak elementu HSPACE i WSPACE, zastąpić w css: img { margin-left: 5px; margin-right: 5px; }
- Wyrównywanie danych:
<p align="right"> lub <img align="left" … /> jest błędne, należy w CSS napisac linie (przykładowo): .textright { text-align: right; } .floatleft { float: left; }
<form name="loginform"> formularz nie ma atrybutu name, należy zastąpić na unikatową nazwę elementu id=”".
- Brak atrybutów width, height, border, cellpadding, bordercolor, celpadding. Należy zastąpić atrybutami w stylu: width, height, border, padding, corder-color.
- Brak elementu <font> i atrybutu color=”", należy zastąpić <span style=”color: red”> … </span>
Częściowe tłumaczenie artykułu
Read More