Czy jest jakiś powód, aby nie rozpoczynać korzystania z formatu dokumentu HTML 5? [Zamknięte]


132

Ma być wstecznie kompatybilny z HTML4 i XHTML. John Resig opublikował opis niektórych korzyści .

Tak długo, jak nie używamy żadnych nowych i jeszcze nieobsługiwanych funkcji, czy rozpoczęcie tworzenia witryn z tym typem dokumentu będzie miało jakikolwiek minus?


1
Kończę, ponieważ wtedy był to ważny problem, ale życie potoczyło się dalej i HTML5 jest teraz tutaj. Przyciąga również flagi, ponieważ wiele odpowiedzi jest raczej opiniami niż faktami.
Kev,

Odpowiedzi:


143

Rozważ to:

Gdy służysz jako tekst / html, wszystko, czego potrzebujesz, to aby uruchomić tryb standardów. Poza tym doctype nie robi nic, jeśli chodzi o przeglądarki.

Podczas udostępniania jako tekst / html, niezależnie od tego, czy używasz znaczników XHTML, czy HTML, jest on traktowany przez przeglądarki jako HTML.

Tak naprawdę sprowadza się to do użycia najkrótszego typu dokumentu, który uruchamia tryb standardów (<! DOCTYPE html>) i użycia znaczników HTML, które dają poprawny wynik w przeglądarkach.

Reszta dotyczy zgodności, walidacji i preferencji znaczników.

Mając to na uwadze, używanie <! DOCTYPE html> teraz i próba dostosowania znaczników do HTML5 nie jest złym pomysłem, o ile trzymasz się stabilnych funkcji, które teraz działają w przeglądarkach. Nie użyłbyś niczego w HTML4 lub XHTML 1.x, co nie działa w przeglądarkach, prawda?

Innymi słowy, używasz <! DOCTYPE html> ze znacznikami podobnymi do HTML4, jednocześnie honorując rzeczy, które zostały wyjaśnione w HTML5. W HTML5 chodzi w końcu o kompatybilność przeglądarek.

Wadą korzystania z HTML5 jest teraz to, że specyfikacja może się zmieniać dość często. Dlatego ważne jest, abyś był na bieżąco ze specyfikacją, która aktywnie się zmienia. Również http://validator.nu/ może nie zawsze być aktualny, ale http://validator.w3.org/ nie zawsze jest aktualny, więc nie pozwól, aby Cię to powstrzymało.

Oczywiście, jeśli chcesz używać znaczników XHTML 1.0 i być zgodnym z XHTML 1.0, nie powinieneś używać <! DOCTYPE html>.

Osobiście zawsze używam <! DOCTYPE html> dla HTML.


4
Pomyślałem, że pomijanie URI wprowadza przeglądarki w tryb dziwactwa, przez co praca zgodnie ze standardami jest daremna.
graham.reeds

5
Dlaczego nie możesz użyć znaczników XHTML 1.0 jako <! DOCTYPE html>? Myślałem, że o to chodzi!
Skilldrick,


5
„Myślałem, że pominięcie URI wprowadza przeglądarki w tryb dziwactwa” - Nie. Duża część pracy nad HTML5 polegała na tym, że Ian Hickson nieustannie testował wiele powszechnie używanych przeglądarek, aby sprawdzić, co działa i jak. Doctype HTML5 uruchamia tryb standardów we (jak sądzę) wszystkich przeglądarkach, które mają coś takiego.
Paul D. Waite

23
Jeśli to pomoże, właśnie przetestowałem <! DOCTYPE html> w IE8, IE7 (używając narzędzi deweloperskich IE8) i IE6 (używając Virtual PC). Żaden z nich nie przeszedł w tryb dziwactwa. Więc nawet stary IE z pewnością może obsłużyć standardowy typ dokumentu HTML5 bez przechodzenia w tryb dziwactw.
Błąd składni,

3

Moje pytanie brzmi: po co go używać, jeśli nie korzystasz z żadnej z nowych / nieobsługiwanych funkcji. Nie mówię, że nie można się tym bawić, ale po co budować witryny z typem dokumentu, który nie oferuje żadnych korzyści i mógłby być uzupełniany przez XHTML5.


3
„Po co go używać, jeśli nie używasz żadnych nowych / nieobsługiwanych funkcji” - ponieważ jest krótszy i łatwiejszy do zapamiętania? Oczywiście nic wielkiego, ale jednak.
Paul D. Waite

Tak, ale czy nie byłby to XHTML 1.2 czy XHTML 2.0? ;)
Talvi Watia

1
HTML5 to „XHTML5”. W3C zaprzestało rozwoju 'X'HTML.
Chris Harrison,

Cóż, nie za bardzo. XHTML5 i HTML5 to dwie różne reprezentacje znaczników (serializacja) języka HTML. Pierwsza jest oparta na języku XML, a druga jest unikalnym dialektem (ze specjalną semantyką analizy) języka SGML.
Delan Azabani

2

Powiedziałbym, że używaj go i testuj intensywnie. W takim razie daj nam znać, jeśli wysadził twój dom czy coś. : ')


2

Opierając się na najnowszej wersji beta IE8, wydaje się, że MS użyje doctype HTML5 jako obejścia dla bagna przełączania trybu IE8. Wydaje się, że największym ryzykiem związanym z wczesnym wdrażaniem typu dokumentu HTML5 jest to, że jeśli ludzie opublikują wiele treści niezgodnych z IE8 w formacie dokumentu HTML5 przed wydaniem IE8, MS może się nie zastanawiać, czy nie uprościć sytuacji trybu dla HTML5.

Aktualizacja: Wygląda na to, że głosowanie odrzucono. Całkiem oczywiste, że teraz, gdy pojawił się IE8, powyższe rozważania nie mają już zastosowania. I rzeczywiście, sytuacja z IE8 nie jest prosta .


2

Minusem jest dla mnie głównie walidacja:

  1. Narzędzia do weryfikacji innych firm nie zawsze nadążają za zmianami specyfikacji, przez co moje ulubione narzędzia są zawodne.
  2. Wolę sprawdzać zgodność ze ścisłymi typami dokumentów, aby upewnić się, że wszystkie elementy zostały zamknięte. To łatwy sposób na uniknięcie prostych, ale czasochłonnych błędów zagnieżdżania. Dzięki HTML 5 nie musisz zamykać elementów, więc nie ma możliwości znalezienia niedopasowanych tagów.

To prawda, dlatego zamiast zwykłego walidatora chcesz poszukać narzędzia do sprawdzania kłaczków html: lint.brihten.com/html/help .
Kzqai

1

jeśli zamierzasz używać doctype, eksperymentuj z funkcjami. Dopóki nie trafią do zakładu produkcyjnego i dokładnie je przetestujesz, miej to na uwadze.


1

Weź pod uwagę swoich odbiorców i swoje potrzeby. Piszę strony, takie jak testy klasowe, z grupą docelową studentów na moich kursach, którzy używają FireFox 3 w laboratorium komputerowym wyposażonym w Ubuntu. Potrzebuję SVG z MathMl osadzonym jako ForeignObject w SVG. Swobodnie używam doctype i nowych tagów HTML5.



0

Dla każdego, kto to znajdzie. Wykres na stronie http://hsivonen.iki.fi/doctype/pokazuje różne tryby renderowania używane przez różne przeglądarki w zależności od używanej deklaracji DOCTYPE. Daje dobre wyobrażenie o tym, jak działa przełączanie DOCTYPE.


-16

Osobiście powiedziałbym nie. Nie ma wyraźnej korzyści z HTML5 i faktycznie posunąłby się nawet do stwierdzenia, że ​​wszystko jest nieudane od samego początku.

Posiadanie wyspecjalizowanych tagów dla nagłówka, stopki i pasków bocznych jest ogromnym błędem - masz je już w postaci tagów (div) i nazw (klas / id). Dlaczego potrzebujemy specjalistycznych? XHTML1.1 jest wystarczająco dobry, kropka. W rzeczywistości, ponieważ większość przeglądarek nie obsługuje poprawnie HTML4, nie ma sensu używać typu dokumentu, którego odpowiednie wsparcie zajmie lata.


10
Chodzi o semantykę. Możesz całkowicie pozbyć się prawie każdego pojedynczego tagu w HTML i używać tylko atrybutów div, span i style / class. Ale w ten sposób usuwasz z dokumentu całą wartość semantyczną.
Laurent

2
Pomyśl tylko, jak przydatne będzie to dla wyszukiwarek.
Leo Jweda

@Laurent: Więc jeśli chcę, aby nagłówek był teraz paskiem bocznym, muszę przejść przez wszystkie moje css i znaczniki, zmieniając je, ponieważ nie jest już poprawny semantycznie? Nie. Zrób z tego element DIV, nazwij go tym, co robi i używaj, jak chcesz. @Laith: Pod jakim względem będzie to dobre dla wyszukiwarek?
graham.reeds

Canvas: Chcesz go użyć? Nie możesz. Lub możesz, ale jesteś teraz w krainie programowania ukierunkowanego. Co nie jest celem standardów.
graham.reeds

3
„Zrób z tego element div, nazwij go tym, co robi i używaj, jak chcesz”. - Cholernie prosto. Kiedy już to robisz, zrób to samo dla wszystkich swoich akapitów i list. Jak wpisać tutaj znak sarkazu.
Paul D. Waite
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.