Podczas definiowania treści i prezentacji należy zapoznać się z dokumentem HTML jako kontenerem danych. Następnie należy zadać sobie następujące na każdego elementu i atrybutu:
Czy atrybut/elementu stanowią znaczący podmiot moich danych? Czy na przykład słowa między tagiem <b>
są wytłuszczone po prostu w celach wyświetlania lub czy chcę dodać nacisk na te dane?
Czy używam właściwego atrybutu/elementu do właściwości reprezentuje typ danych, które chcę reprezentować?
Ponieważ chcę dodać nacisk na tę sekcję, powinienem użyć <em>
(nie oznacza to kursywy, oznacza to nacisk i można pogrubić) lub <strong>
w zależności od pożądanego poziomu nacisku.
Czy używam tego atrybutu/elementu tylko do celów wyświetlania? Jeśli tak, czy element można usunąć, a element nadrzędny stylizować za pomocą CSS?
Czasami znacznik prezentacji można po prostu zastąpić regułami CSS na elemencie nadrzędnym.W takim przypadku tag prezentacji musi zostać usunięty.
Po zadaniu sobie tych trzech prostych pytań, zazwyczaj można podjąć świadomą decyzję. Przykład:
Original Kod: <label for="name"><b>Name:</b></label>
Sprawdzanie tag <b>
...
Czy atrybut/elementu stanowią znaczący podmiot moich danych?
Nie, znacznik nie reprezentuje węzła danych. Jest tam wyłącznie do prezentacji.
Czy używam właściwego atrybutu/elementu do właściwości reprezentuje typ danych, które chcę reprezentować?
<b>
służy do prezentacji pogrubionych elementów.
Czy używam tego atrybutu/elementu tylko do celów wyświetlania? Jeśli tak, czy element można usunąć, a element nadrzędny stylizować za pomocą CSS?
Ponieważ <b>
jest prezentacyjny i używam go do prezentacji, tak. Ponieważ element <b>
wpływa na cały obiekt <label>
, można go usunąć i zastosować do stylu <label>
.
semantyczna celem HTML jest nie do uproszczenia projektowania i przebudowy lub w celu uniknięcia inline stylizacji, ale aby pomóc parser zrozumieć, co to zwłaszcza tag reprezentacji w dokumencie. W ten sposób można tworzyć aplikacje (np .: wyszukiwarka), aby inteligentnie zdecydować, co oznacza treść i odpowiednio ją sklasyfikować.
Dlatego warto użyć własności CSS content:
, aby dodać cytaty dotyczące tekstu znajdującego się w tagu <q>
(nie ma to wartości dla danych zawartych w dokumencie innej prezentacji), ale nie ma sensu korzystanie z tego samego Właściwość CSS, aby dodać symbol © w stopce, ponieważ ma wartość w danych.
To samo dotyczy atrybutów. Używanie atrybutu width
i height
w znaczniku <img>
reprezentującym ikonę o rozmiarze 16x16 ma sens semantyczny, ponieważ ważne jest zrozumienie znaczenia znacznika <img>
(ikona może mieć różne reprezentacje w zależności od rozmiaru, w jakim jest wyświetlana). Używanie tych samych atrybutów na znaczniku <img>
, co oznacza miniaturę większego obrazu, nie jest.
Czasami trzeba dodać elementy nieantantyczne, aby osiągnąć pożądaną prezentację, ale zazwyczaj można tego uniknąć.
Nie ma złych elementów. Istnieją niewłaściwe zastosowania poszczególnych elementów. <b>
nie powinno być używane podczas dodawania podkreśleń. <small>
należy używać dla legalnego podtekstu, aby tekst nie był mniejszy (patrz: HTML5 - Section 4.6.4), itp. Wszystkie elementy mają określony scenariusz użycia i wszystkie one reprezentują dane (minus elementy prezentacji, ale mają zastosowanie w niektóre przypadki). Żadnych elementów nie należy odkładać na bok.
Atrybuty to zupełnie inna sprawa.Większość atrybutów ma charakter prezentacyjny. Atrybuty takie jak <img border>
i <body fgcolor>
rzadko mają znaczenie w danych, które reprezentujesz, dlatego nie powinieneś ich używać (z wyjątkiem tych rzadkich przypadków).
Wyszukiwarki są dobrym przykładem tego, dlaczego dokumenty semantyczne są tak ważne. Microformats to predefiniowany zestaw elementów i klas, które można wykorzystać do reprezentowania danych, które wyszukiwarki będą rozumiały w określony sposób. The product price information in Google Searches jest przykładem semantyki w pracy.
Stosowanie wstępnie zdefiniowanych reguł w ustawionych standardach do przechowywania informacji w dokumencie umożliwia programom zewnętrznym zrozumienie, co wydaje się być ścianą tekstu bez użycia algorytmów heurystycznych, które mogą być podatne na awarie. Pomaga to także czytnikom ekranu i innym aplikacjom ułatwiającym dostęp w łatwiejszy sposób zrozumieć kontekst, w którym prezentowane są informacje. Znacznie pomaga to w utrzymaniu twojego znacznika, ponieważ wszystko jest powiązane z definicją zestawu.
ale ma tylko obrazy tła. masz na myśli, że nie powinniśmy używać , jeśli chcemy zachować separację treści i prezentacji –
Wszystkie projekty w galerii CSS Zen Garden używają tego samego pliku HTML, który można zobaczyć tutaj: http://www.csszengarden.com/ zengarden-sample.html. Nic nie jest zmieniane między każdym projektem. Tylko odwołanie do właściwego pliku CSS. Istnieje ponad 200 projektów, a wariacja jest drastyczna. –
@Jitendra: Nie, nie, nie .... nikt nie mówi, że musisz unikać jakiejś konkretnej etykiety. Celem jest być zdrowym i logicznym, i uzyskać jak najczystszy rozdział. CSS Zen to doskonała strona demo, ale powodzenia starają się uzyskać ten poziom separacji za pomocą aplikacji internetowej. – slugster