Zeszłego lata przeczytałem pełną specyfikację HTML5 i każdą poprzednią specyfikację HTML (nawet te porzucone), wszystkie specyfikacje CSS, które mogłem znaleźć, i wiele specyfikacji XML. Ponieważ uwielbiam semantycznie bogate dokumenty hipertekstowe, pozwól, że przedstawię ci ideę odpowiedniej semantyki HTML w HTML5.
Przed HTML5
Przed HTML5 ii brzeczywiście były modne. Powodem było to, że zasadniczo działali jak emi strongodpowiednio, ale z naciskiem na prezentację, a nie na semantykę (co jest złe).
Rzeczywiście ioznaczało to, że tekst powinien być pisany kursywą (mówił coś o tym, jak tekst powinien być renderowany na ekranie). Z drugiej strony emoznaczało, że należy podkreślić tekst (mówiło coś o semantyce tekstu).
Istnieje tutaj ważna różnica teoretyczna. Jeśli używasz em, agent użytkownika (= przeglądarka) wie, że tekst powinien być wyróżniony, więc może renderować go kursywą, jeśli dokument jest wyświetlany na ekranie (lub wielkimi literami, jeśli formatowanie nie jest możliwe, a może nawet pogrubioną czcionką jest użytkownik woli), może wymówić to inaczej, jeśli dokument zostanie przekazany użytkownikowi itp.
Zauważ, że tak naprawdę nacisk kładziony jest na semantykę. Na przykład frazy
- Kot jest mój. (= nie pies!)
- Kot jest mój . (= nie twoje!)
nie mają tego samego znaczenia.
Ta sama różnica dotyczy b(czcionka pogrubiona) i strong(duży nacisk).
Ogólna zasada pisania cyfrowego, aw szczególności tworzenia hipertekstu, polega na oddzieleniu treści i stylu. W przypadku tworzenia hipertekstu oznacza to, że treść powinna znajdować się w pliku HTML, a styl powinien znajdować się w pliku CSS (lub kilku plikach CSS). Inną, ale powiązaną zasadą jest to, że dokument powinien być bogaty w semantykę (np. Zaznaczanie nagłówków, stopek, list, akcentów, adresów, obszarów nawigacyjnych itp.). Ma to wiele zalet:
- Programy komputerowe znacznie łatwiej interpretują ten dokument. Programy te obejmują przeglądarki, aplikacje zamiany tekstu na mowę, wyszukiwarki i asystentów cyfrowych. (Na przykład przeglądarka pozwala zapisać adres w książce adresowej, jeśli tylko może go znaleźć i zinterpretować. Ponadto możesz wiedzieć, że program Microsoft Word może utworzyć i automatycznie zaktualizować spis treści, jeśli poprawnie oznaczysz nagłówki .)
- Znacznie łatwiej jest później zmienić styl. (Jeśli chcesz zmienić kolor wszystkich nagłówków trzeciego poziomu w 860-stronicowym dokumencie, możesz zmienić pojedynczy wiersz w arkuszu stylów. Jeśli masz mieszaną zawartość i prezentację, musisz ręcznie przejrzeć cały dokument ręcznie I prawdopodobnie przegapiłbyś jeden lub dwa nagłówki, przez co dokument wyglądałby nieprofesjonalnie.)
- W zależności od okoliczności można używać różnych arkuszy stylów (czy dokument jest wyświetlany na ekranie czy drukowany na papierze?). Możesz nawet pozwolić użytkownikowi samemu wybrać styl. (Moja strona internetowa oferuje wiele alternatywnych arkuszy stylów. W IE i FF możesz je zmienić za pomocą menu Widok).
Tak, w skrócie, ii bbyły przestarzałe, ponieważ były znaczniki HTML zaniepokojeni prezentacji , która jest całkowicie błędne.
W HTML5
W HTML5 ii bnie są już przestarzałe. Zamiast tego mają znaczenie półmatyczne . Więc teraz dotyczą one semantyki, a nie prezentacji.
Tak jak poprzednio, emzaznaczasz nacisk: „Kot jest mój”. Ale używasz iw prawie wszystkich innych przypadkach, w których używasz kursywy w drukowanej pracy. Na przykład:
- Używasz
ido oznaczania oznaczeń taksonomicznych: „Lubię R. norvegicus ”.
- Służysz
ido oznaczania frazy w innym języku niż otaczający tekst: À la carte
- Używać
ido oznaczania słowo gdy mówimy o samo słowo: „ napój jest zarówno rzeczownik i czasownik”
Dobrym pomysłem jest również użycie tego classatrybutu, aby określić dokładne użycie (także „mikroformat” Google i „mikrodane”). I oczywiście w drugim przypadku powinieneś naprawdę użyć langatrybutu, aby określić poprawny język. (W przeciwnym razie na przykład agent zamiany tekstu na mowę może źle wymawiać tekst.)
Mniej więcej rok temu specyfikacja HTML5 mówi również, że citenależy jej używać do oznaczania nazw książek, filmów, oper, obrazów itp .:
- Co sądzisz o nimfomanki ?
Wreszcie, od dawna, dfnsłuży do oznaczania definiującego wystąpienia frazy w tekście (np. Definicji matematycznej lub definicji terminu):
- Grupa to zbiór X wyposażony w jednym operacji binarnej * taki, że ...
Tak więc kursywa w drukowanej książce, która może oznaczać wiele różnych rzeczy, jest reprezentowana przez cztery różne tagi HTML5, co jest naprawdę świetne, ponieważ semantyka jest dobra, o czym starałem się przekonać wcześniej. (Na przykład możesz poprosić przeglądarkę o sporządzenie listy wszystkich definicji w tekście, abyś mógł je wszystkie poznać przed egzaminem).
Wracając do strongi b, specyfikacja HTML5 mówi, że strongnależy jej użyć do oznaczenia ważnej części tekstu, na przykład ostrzeżenia lub jakiegoś bardzo ważnego słowa do uchwycenia w zdaniu. Z drugiej strony bpowinny być używane do oznaczania rzeczy, które muszą być łatwe do znalezienia w tekście, takich jak słowa kluczowe. Używam również bjako nagłówków w elementach listy (LI).
<b>i<i>nie jestem przestarzały.