HTML 5 doctype을 사용하지 않는 이유는 무엇입니까? [닫은]


132

HTML4 및 XHTML과 호환됩니다. John Resig는 몇 가지 이점에 대해 게시했습니다 .

지원되지 않는 새로운 기능을 사용하지 않는 한이 문서 유형으로 사이트를 구축하기 시작하는 데 단점이 있습니까?


1
나는 그것이 유효한 관심사 였지만 인생이 계속되어 HTML5가 여기에 있기 때문에 마감 중입니다. 많은 답변이 사실이 아니라 의견이기 때문에 플래그를 끌어 들이고 있습니다.
Kev

답변:


143

이것을 고려하십시오 :

텍스트 / html로 제공 할 때 doctype이 필요한 것은 표준 모드를 ​​트리거하는 것입니다. 그 외에도 doctype은 브라우저에 관한 한 아무것도하지 않습니다.

XHTML 마크 업을 사용하든 HTML 마크 업을 사용하든 텍스트 / html로 제공 할 때는 브라우저에서 HTML로 처리합니다.

따라서 실제로 표준 모드 (<! DOCTYPE html>)를 트리거하는 가장 짧은 doctype을 사용하고 브라우저에서 올바른 결과를 생성하는 HTML 마크 업을 사용합니다.

나머지는 적합성, 검증 및 마크 업 우선 순위에 관한 것입니다.

그러나 <! DOCTYPE html>을 사용하고 HTML5를 준수하도록 마크 업을 시도하는 것은 브라우저에서 작동하는 안정적인 기능을 고수하는 한 나쁜 생각이 아닙니다. 브라우저에서 작동하지 않는 HTML4 또는 XHTML 1.x에서는 아무것도 사용하지 않습니까?

즉, HTML5에서 명확해진 내용을 존중하면서 HTML4와 유사한 마크 업과 함께 <! DOCTYPE html>을 사용합니다. HTML5는 결국 브라우저 호환성에 관한 것입니다.

HTML5 사용의 단점은 사양이 자주 변경 될 수 있다는 것입니다. 따라서 사양이 적극적으로 변경 될 때 사양을 따라야합니다. 또한 http://validator.nu/ 는 항상 최신 정보는 아니지만 http://validator.w3.org/ 는 항상 최신 정보가 아니므로 중지하지 마십시오.

물론 XHTML 1.0 마크 업을 사용하고 XHTML 1.0을 따르려면 <! DOCTYPE html>을 사용하지 않아야합니다.

개인적으로 저는 항상 HTML에 <! DOCTYPE html>을 사용합니다.


4
URI를 생략하면 브라우저가 쿼크 모드로 전환되어 표준에 대한 작업을 무의미한 노력으로 생각합니다.
graham.reeds

5
XHTML 1.0 마크 업을 <! DOCTYPE html>로 사용할 수없는 이유는 무엇입니까? 나는 그것이 요점이라고 생각했다!
Skilldrick

2
Skilldrick, polyglot 문서를 작성할 수 있습니다. stackoverflow.com/questions/1079427/what-is-a-polyglot-document
Shadow2531 2009

5
“URI를 생략하면 브라우저가 쿼크 모드로 전환 될 것이라고 생각했습니다. HTML5 작업의 큰 부분은 이안 ick 슨 (Ian Hickson)이 자주 사용하는 많은 브라우저를 끊임없이 테스트하여 작동하는 방식과 방법을 확인하는 것이 었습니다. HTML5 doctype은 그러한 것을 가진 모든 브라우저에서 표준 모드를 ​​트리거합니다.
Paul D. Waite

23
도움이된다면 IE8, IE7 (IE8 dev 도구 사용) 및 IE6 (가상 PC 사용)에서 <! DOCTYPE html>을 테스트했습니다. 그들 중 누구도 쿼크 모드로 들어 가지 않았습니다. 따라서 오래된 IE조차도 기발한 모드로 전환하지 않고도 표준 HTML5 문서 유형을 처리 할 수 ​​있습니다.
구문 오류

3

당신에게 내 질문은 당신이 새로운 / 지원되지 않는 기능을 사용하지 않으면 왜 그것을 사용하는 것입니다. 나는 당신이 그것을 가지고 놀 수 없다고 말하지는 않지만 XHTML5에 의해 보완 될 수있는 doctype으로 사이트를 시작하는 이유는 무엇입니까?


3
“새롭고 지원되지 않는 기능을 사용하지 않으면 왜 사용합니까?”– 짧고 기억하기 쉽기 때문에? 분명히 큰 것은 아니지만 여전히 그렇습니다.
Paul D. Waite

예,하지만 XHTML 1.2 또는 XHTML 2.0이 아닐까요? ;)
Talvi Watia

1
HTML5 'XHTML5'입니다. W3C는 'X'HTML 개발을 중단했습니다.
크리스 해리슨

글쎄,별로. XHTML5와 HTML5는 HTML 언어의 두 가지 다른 마크 업 표현 (직렬화)입니다. 전자는 XML 기반이며, 후자는 SGML의 고유 한 방언 (특수 구문 분석 의미가있는)입니다.
Delan Azabani

2

나는 그것을 사용하고 광범위하게 테스트한다고 말하고 싶다. 그런 다음 집이 무너 졌는지 알려주십시오. : ')


2

최신 IE8 베타를 기반으로 MS는 HTML5 doctype을 IE8 모드 전환 quagmire의 바이 패스로 사용하는 것으로 보입니다. HTML5 doctype을 조기에 배포 할 때 가장 큰 위험은 사람들이 IE8이 출시되기 전에 HTML5 doctype으로 많은 IE8 호환 콘텐츠를 게시하는 경우 HTML5의 모드 상황을 간단하게 만드는 데 어려움을 겪을 수 있다는 것입니다.

업데이트 : 이것은 투표되었습니다. 분명히 IE8이 출시되었으므로 위의 고려 사항은 더 이상 적용되지 않습니다. 실제로 IE8에서는 상황이 간단하지 않습니다 .


2

나에게 단점은 주로 유효성 검사와 관련이 있습니다.

  1. 타사 유효성 검사 도구가 사양 변경에 항상 대응하는 것은 아니므로 즐겨 사용하는 도구를 신뢰할 수 없게 만듭니다.
  2. 모든 요소를 ​​닫았는지 확인하기 위해 엄격한 doctype에 대해 유효성 검사를 선호합니다. 간단하지만 시간이 많이 걸리는 중첩 오류를 피하는 쉬운 방법입니다. HTML 5를 사용하면 요소를 닫을 필요가 없으므로 일치하지 않는 태그를 찾을 수 없습니다.

그렇기 때문에 단순히 유효성 검사기 대신 html lint checker ( lint.brihten.com/html/help)를 찾아야 합니다.
Kzqai

1

doctype을 사용하려면 기능을 실험 해보십시오. 그들이 생산 현장에 들어 가지 않는 한 철저히 시험해보아야합니다.


1

청중과 필요를 고려하십시오. 우분투를 갖춘 컴퓨터 실에서 FireFox 3를 사용하는 과정에서 학생들을 대상 으로 수업 테스트 와 같은 페이지를 작성합니다 . SVG에 foreignObject로 MathMl이 포함 된 SVG가 필요합니다. HTML5 doctype과 새로운 HTML5 태그를 자유롭게 사용합니다.



0

이것을 찾는 사람을 위해. 의 차트는 http://hsivonen.iki.fi/doctype/사용중인 DOCTYPE 선언에 따라 서로 다른 브라우저가 사용하는 다양한 렌더링 모드 를 보여줍니다. DOCTYPE 전환 작동 방식에 대한 좋은 아이디어를 제공합니다.


-16

개인적으로 나는 아니오라고 말할 것입니다. HTML5에는 분명한 이점이 없으며 실제로 모든 것이 처음부터 시작되었다고 말할 수 있습니다.

머리글, 바닥 글 및 사이드 바에 대한 특수 태그를 갖는 것은 큰 실수입니다. 이미 태그 (div) 및 이름 (classes / id) 형식으로되어 있습니다. 왜 전문가가 필요합니까? XHTML1.1은 기간이 충분합니다. 사실, 대부분의 브라우저는 HTML4를 올바르게 지원하지 않기 때문에, 적절한 지원을 받기 위해 몇 년이 걸리는 doctype을 사용하는 데는 별다른 의미가 없습니다.


10
의미론에 관한 것입니다. HTML에서 거의 모든 단일 태그를 완벽하게 제거하고 div, span 및 style / class 속성 만 사용할 수 있습니다. 그러나 그렇게하면 문서에서 모든 의미 값을 제거 할 수 있습니다.
Laurent

2
검색 엔진에 얼마나 유용한 지 생각해보십시오.
레오 Jweda 09

@Laurent : 헤더를 사이드 바로 사용하려면 CSS가 더 이상 의미 적으로 정확하지 않기 때문에 모든 CSS와 마크 업을 전환해야합니까? 아니요. div로 만들고 수행하는 작업을 호출하고 원하는 방식으로 사용하십시오. @Laith : 어떻게 검색 엔진에 좋을까요?
graham.reeds

캔버스 : 사용하고 싶습니까? 당신은 할 수 없습니다. 또는 할 수는 있지만 이제는 목표 프로그래밍의 땅에 있습니다. 어느 것이 표준의 요점이 아닙니다.
graham.reeds

3
"div로 만들어서 수행하는 작업을 호출하고 원하는 방식으로 사용하십시오." — 젠장. 당신이 그것을하는 동안, 당신의 모든 단락과 목록에 대해 동일한 작업을 수행하십시오. 여기에 sarcmark를 어떻게 입력합니까?
Paul D. Waite
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.