문제

그것은으로 널리 인식되는 최고 이유를 확인 하나의 HTML 도록하는 것이 모든 브라우저 치료하는 일관되고 예측.

HTML5 초안,그러나,두 개의 사양에 하나입니다.첫 번째 저자 스펙을 설명하는 요소 및 특성을 HTML 로 저자가 사용해야,그리고 그들의 상호 관계.의 유효성 검사에는 HTML5 페이지를 기반으로 이 spec.의 요소 및 특성을 포함하지 않은 직접 그려서는 HTML4 지만,필요할당에서 첫째 원칙을 의미하는,일부 HTML4 능과 같은 특성을 요약 <table>,longdesc 에 <img> 와 프로파일 특성에 <head>지 않는 현재에 나타나는 이습니다.이러한 기능은 사용되지 않는 기능으로 간주되므로,그들은 단순히 포함되지 않습니다.(그들의 부재에서의 초안은 남아 있는 분쟁의 문제이지만,자신의 포함 곧 언제든지 보이지 않는 가능성이 높습니다.)

둘째,초안을 정의 브라우저 처리 명세를 추구하는 방법을 정확하게 정의 브라우저의 파서 치료하는 모든 바이트 스트림을 그것은 주어진 방법에 상관없이 잘 형성하고 유효한 HTML.즉,이 경우 브라우저를 완벽하게 지원 HTML5,그것이 가능한 수를 예측하는 방법은 어떤 브라우저 치료를 위한 HTML 훨씬 넓은 범위의 입력보다 단지 사람들 전달하는 유효성 검사를 수행합니다.

특히,기 때문에 HTML5 정의 100%이전 버전과 호환되는 오늘날의 웹,모든 유효한 HTML4,그리고 모든 잘못되었지만 일반적으로 사용되는 표시,계속하여 처리되는 정확히 동일한 방식으로 오늘,는지 여부에 관계없이 그것에는 HTML5 가 유효하지 않습니다.

따라서,아주소,사람을 사용하여 어떤 기능을에서는 HTML5,HTML4,또는 모든 이전 버전의 HTML,더 많은 독자적인 확장을 확신할 수 있습니다 그들의 HTML 을 얻을 것이 일관되고 예측 가능한 치료에 걸쳐 모든 브라우저입니다.

이 주어진,그것은 모든 감각을 제한하는 사람 HTML5 하는 유효성을 검사합니다,그리고 실제 어떤 혜택을 것입니다 우리는 이렇게?

도움이 되었습니까?

해결책

  • 첫째가는 계층의 유효 기간에 해당하"분석에서"오류 HTML5 분석하는 알고리즘.이 계층은 유사한 XML 올바른 형식.최고 이유는 것을 피하기 위해 오류에 당신의 문서에 이 계층은 당신이 얻을 수 있습니다 놀라운 parse 나무입니다.문서가 오류가 이 계층에,당신은 더 적은 suprises 하는 디버그 할 때 쓰 JS 또는 CSS 와 함께 작동하는 DOM.
  • 로의 특별한 경우 상기 레이어가 있 HTML5doctype: <!DOCTYPE html>.는 이유는 한 원하는 것을 준수 여기를 얻고 표준 모드에서는 가장 쉬운 방법이 가능합니다.그것은 무언가를 당신을 기억할 수 있습과는 달리 HTML4.01 또는 XHTML1.0doctypes 을 봐야 한다고 복사하여 붙여넣습니다.물론,이유는 당신이 원하는 표준 모드가 적은 놀라움에서 CSS 층이다.
  • 주요 이유에 대한 관심 유효성 검사에서는 계층보다 더 높은 구문 분석하는 알고리즘은 당신의 오타는 그렇게 당신이 적은 시간을 보내고 디버깅 왜 당신의 페이지 작동하지 않을 좋아합니다.
  • 이전 점을 설명하지 않는 이유에 대해 관심을 가져야할 때 유효성 검사 지정된 요소하거나 특성을 잘못 입력에 의해 지원되는 브라우저의 문제로 유산을하지만 HTML5 사양이 여전히 피습니다.여기에는 이유 HTML5 는 사용 다음과 같은 구문을 사용합니다.
    • HTML5 사용하는 사용 기간 만에 신호를 보내는 작가는 일부 기능은 폐기물의 자신의 시간입니다.이들을 포함 longdesc, summaryprofile.(주는 사람에 동의하지 않지만,사실,시간의 낭비하지만,현재의 초안이 작성 HTML5 게 사용되지 않습니다.) 는 경우,제한된 자원의 접근성을 개선하기 위해,당신의 제한된 자원은 더 나은에 소요되는 다른 뭔가 longdescsummary.이 있는 경우 제한된 리소스에 대한 의미의 순도,자원은 더 나은에 소요되는 다른 무언가를 만들기 보다는 확신이 오른쪽에 주문 profile.
    • HTML5 더 이상 사용하지 않는 일부 프레젠테이션 기능은 중복 될 수 있는 CSS 에서 안내하는 저자를 사용하 CSS 자신을 위해 좋은입니다.이 방법은,저자는 고려하지 않는 유지 보수성에서 자신의 가정을 안내하여 더 유지 관리할 수 있는 코드 그럼에도 불구하고.개인적으로 선호하는 것을 만들기 이상의 기존 표 물건에 부합하고 그것을 떠나 저자는 자신이 어떤 방법으로 결정의 일을 하기 위해 작동합니다.
    • 어떤 것을 사용에 대한 정치적인 이유입니다.이 <font> 요소가 되지 않기 때문에 그것을 따르는 것을 반대로-<font> standardistas 생각하는 HTML5 사람들이 미쳤으로 이어질 수 있는 나쁜 PR. <applet> 는 사용으로 주로 문제의 원리를 주지 않는 특수한 마크업을 하나의 특별한 플러그인입니다.이 classid 특성 <object> 이 되지 않기 때문에,그것의 실제 ActiveX 특정입니다.
    • 몇 가지 사용의 기준 언어로 디자인 미학입니다.이 포함됩 name 특성 <a>language 특성 <script>.

(I 을 개발한 검증이다.뉴 HTML5 검사는 또한 HTML5 유효성 엔진을 사용하는 W3C 검사기.)

다른 팁

이것을 감안할 때, HTML 5를 검증 할 수있는 것과 제한하는 것은 의미가 있습니까?

물론이죠. 당신은 미래가 고정되어 있지 않다는 것을 잊어 버립니다. 특히, 당신은 암묵적으로 HTML 5 사양이 결코 변하지 않을 것이라고 가정하고, 어떤 기능도 감가 상각되지 않는다고 가정합니다. 물론 이것은 현 상태에 대해서만 제공합니다. 새로운 개발이 더 쉽게 이루어질 수 있도록 장기적으로 일부 기능에 대한 지원을 제거하는 것이 바람직합니다 (특히 서로 충돌 할 수있는 경우).

유효한 HTML 5를 생산하는 데 즉각적인 혜택이 없을 수 있습니다 ( 아직 검증 및 개발이 더 쉬워집니다). 그러나 대부분의 웹 사이트가 현재 기술과 표준을 넘어서 훨씬 쉽게 진행되기 때문에 품질이 향상되면 장거리 이점이있을 수 있습니다.

유효성 검사에는 결코 진짜로 얻기에 대해 일관된 결과를 통해 브라우저하기도 전에,HTML5 시작했다.는 신화를 전파하여 이해하지 않는 사람들은 그들이 무엇에 대해 얘기하는 경우에도,그들은 생각합니다.

진짜 이유에 대한 검증이 되었습니다 항상 순전히 문제의 품질을 보증합니다.그것은 단지 방법 오류를 검출하는,니다.도에 대한 결과는 주어진 오류가 있을 수 있습니다,또는 곧 되고,일관된 브라우저 중,그것은 여전히 가능하는 결과 자체적으로하지 않습니다.

그것의 중요 작가를 잡을 수 있도록 오류가에서 자신의 코드기 때문에 세탁기술자,오류가 무료로 태그 작업에 쉽게하고 유지,특히 때 팀에서 작업 환경입니다.대부분의 개별 오류 수 있습니다 양성하고 발생하지 않는 모든 중요한 문제기해 보는 건 늘 그만한 가치가 있어 예상치 못한 결과가 발생할 수 있습.예:잘못이 겹치거나 닫히지 않은 요소를 일으킬 수 있 예기치 않은 레이아웃은 문제에서는 어떤 경우에는,그리고 시키는 검사기를 말해 당신에 오류가,에 도움이 됩정하는 문제입니다.하지만 결과와 그렇지 않으면 양성,오류를 만들 수 있습니다 그것을 탐지 및 처리보다 더 어려워해야 합니다.

이것은 실제로 HTML5와 함께 내 퀴즈 중 하나입니다. 브라우저가 모든 스트림을 동일한 방식으로 처리 해야하는 경우 스트림의 서브 세트를 '유효한'것으로 정의하는 점은 없습니다. XML이 이미 모든 구문 분석 문제를 해결했을 때, 낙하 메커니즘에 대한 논쟁의 여지가있는 Whatwg 목록에 소비 된 Eons는 모든 사람의 시간을 막대한 낭비입니다.

레거시 유효하지 않은 문서를 구문 분석에 대한 모범 사례 문서를 제작하는 것이 유용한 아이디어 였지만 웹 표준에는 일부가 없으며 HTML5 주변의 물을 더욱 진흙 투성이로 만드는 또 다른 요소 일뿐입니다. 기존 동작 (HTML 3.2 DID와 같은)을 체계화하거나 클리너 플랫폼 (HTML 3.0 시도)을 재정의하거나 단편적 인 새로운 확장을 추가하십시오.

어쨌든 "HTML5를 완전히 지원하는 브라우저가 없기 때문에 문제가 잘못 배치 될 수 있습니다. 브라우저 제조업체는 원하는 경우에도 Minutiae까지 모든 것을 절대적으로 구현할 수 없었습니다. 적어도 Microsoft는 명시 적으로하지 않습니다. 대신, 분명히 유용한 기능은 공급 업체에 의해 IT에서 체리 고정되어 더 넓은 수용을 충족시킬 것입니다.

HTML5는 일관된 HTML 사양이 아니며 웹 브라우저가해야한다고 생각하는 모든 임의의 일에 대해 Hixie의 거품이 많고 읽을 수없고 미완성 된 레시피입니다. 실패합니다. W3의 대안 적 접근 방식 인 XHTML2는 이미 실패했습니다. 웹 표준에 대한 일관된 미래 방향은 없습니다. 우리는 공을 떨어 뜨렸다.

좋은 질문입니다.

유효성 검사의 주요 목적 (적어도 나에게)은 마크 업에서 오류를 잡고 다른 브라우저에서 페이지를 테스트 할 때 빌드 할 좋은 기반을 제공하는 것입니다. 마크 업이 유효하고 IE6에서 페이지가 borked하면 IE6 문제입니다.

마크 업에 테이블 요약과 같은 기술적으로 유효하지 않은 HTML5 또는 앵커 액세스키가 포함되어 있어도 브라우저가 여전히 예측 가능한 방식으로 행동해야한다는 사실은 물을 다소 비교할 수 있습니다.

일반적으로 앞서 언급 한 이유 때문에 항상 내 페이지가 검증되기를 원합니다. 그러나 (예를 들어) 분명히 적절한 교체가 추가되지 않고 HTML5 사양에서 속성이 삭제 된 경우, 상류층 또는 쓸모없는 속성을 계속 사용하고 유효성 검사 오류를 수락하는 경향이있을 수 있습니다.

그 어느 때보다도, 나는 그것이 당신의 공예를 아는 경우라고 생각합니다.

당신이하고있는 일을 알고 있고 의식적인 결정 건전한 이유로 검증되지 않는 페이지를 작성하려면 문제가되지 않습니다. 더 잘 모르기 때문에 유효성이없는 코드를 작성하는 경우 전적으로 또 다른 문제입니다.

스티븐

W3C HTML5 유효성 검사기 관리자. 나는 최근에“왜 검증 된 이유는 무엇입니까?”를 썼습니다. HTML5 유효성 검사기의 "정보"섹션에 대한 섹션 :

http://validator.w3.org/nu/about.html#hy-validate

해당 섹션의 텍스트 소스는 다음과 같습니다.

https://github.com/validator/validator/blob/master/site/nu-about.html#l160

제안 된 개선/추가 기능을 갖춘 요청을 당기는 것을 환영합니다.

내가 현재 거기에있는 것은 다음과 같습니다.

적합성 검사기를 통해 HTML 문서를 실행하는 핵심 이유는 간단합니다. 의도하지 않은 실수를 포착하려면 (다른 방법으로 누락했을 수도 있음) 고칠 수 있습니다.

그 외에도 HTML 사양의 일부 문서 정보 요구 사항 (유효성 규칙)이 귀하와 문서 사용자가 특정 종류의 잠재적 문제를 피할 수 있도록 도와줍니다. 해당 요구 사항의 이론적 근거를 설명하기 위해 HTML 사양에는이 두 섹션이 포함됩니다.

이 두 섹션에 언급 된 내용을 요약하려면 다음과 같습니다.

  • 접근성, 유용성, 상호 운용성, 보안 또는 유지 가능성에 대한 잠재적 인 문제이거나 성능 저하가 발생하거나 문제를 해결하기 어려운 방식으로 스크립트가 실패 할 수 있기 때문에 오류로 정의 된 일부 마크 업 사례가 있습니다.
  • 이와 함께 일부 마크 업 사례는 HTML 구문 분석 및 오류 처리 동작에서 잠재적 인 문제를 해결할 수 있기 때문에 오류로 정의됩니다. 예를 들어, DOM에서 직관적이지 않은 예상치 못한 결과가 나옵니다.

문서를 검증하면 잠재적 인 문제가 발생합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top