適用 (対象)
全てのマークアップ言語及びその他の多くのウェブコンテンツ技術
これは達成基準 4.1.1: 構文解析 (十分な達成方法) に関する達成方法である。
解説
この達成方法の目的は、正式な仕様に則ってバリデートされていないコードにしばしば起因するウェブページの曖昧さをなくすことである。ウェブコンテンツ技術及びそのバージョンを特定するそれぞれのウェブコンテンツ技術のメカニズムが用いられ、そのウェブコンテンツ技術の正式な仕様に照らし合わせてウェブページをバリデートする。対象となるウェブコンテンツ技術にバリデータがある場合、開発者はそのバリデータを使うことができる。
通常は、バリデーションによって曖昧さ (及びその他の問題点) を排除する。これは、バリデーションに必要不可欠なステップの一つが、そのウェブコンテンツ技術のマークアップ (マークアップ言語) 又はコード (他のウェブコンテンツ技術) が適正に使用されているかどうかをチェックすることだからである。バリデーションは、必ずしも仕様への完全な準拠をチェックするものではないが、コンテンツを仕様に照らし合わせて自動的にチェックするには最適な手段である。
事例
事例 1: HTML のバリデーション
HTML ページに文書型宣言 (!DOCTYPE として記述されることが多い) があり、その文書型宣言で指定された HTML のバージョンに対して妥当 (Valid) である。開発者は、オフライン又はオンラインのバリデータ (下記「参考リソース」を参照) を使用して、この HTML ページの妥当性をチェックできる。
事例 2: XML のバリデーション
XHTML、SVG、SMIL 及びその他の XML をベースしたドキュメントが、文書型定義 (DTD) 又はその他のタイプの XML スキーマを参照している。開発者は、オンライン又はオフラインのバリデータ (エディタに内蔵されている検証ツールを含む) を使用して、この XML ドキュメントの妥当性をチェックできる。
事例 3: Ant のバッチによるバリデーション
XML ファイルのバリデーションをバッチで行う際には Apache Ant の xmlvalidate タスクを使用することができる。次の Apache Ant ターゲットは、(Ant のビルドファイルに相対する) ディレクトリ dev\\Web 内にある拡張子 .xml のファイルをバリデートするシンプルな例である。
<target name="validate-xml"> <xmlvalidate lenient="no"> <fileset dir="dev/web" includes="*.xml" /> </xmlvalidate> </target>
参考リソース
この参考リソースは、あくまでも情報提供のみが目的であり、推薦などを意味するものではない。
以下に示される参考リソースは、W3C HTML5 勧告以前に作成されたものが多数であり、その多くは HTML5 への対応がなされていないと考えられる。そのため、WAIC では翻訳を行っていない。
- Do not forget to add a doctype by the W3C Quality Assurance Initiative explains what doctypes are and why you should use them.
- Recommended DTDs to use in your Web document by the W3C Quality Assurance Initiative is a list of commonly used declarations.
- How do I validate my code or check for possible errors? describes the tools in the free editor HTML-Kit for checking HTML, CSS and XML.
HTML 及び XHTML のバリデーション
- The W3C Markup Validation Service by the World Wide Web Consortium allows you to validate HTML and XHTML files by URI, by file upload and by direct input of complete HTML or XHTML documents. There are also separate pages with an extended interface for file upload and for validating by URI (advanced options such as encodings and document types).
- Installation Documentation for the W3C Markup Validation Service explains how to install this service (for example for use on an intranet).
- WDG HTML Validator by the Web Design Group allows you to enter a URI to validate single pages or entire sites. There are also versions to validate Web pages in batch mode (by specifying one or more URIs of HTML documents to validate), by file upload and by direct input of HTML code.
- Offline HTMLHelp.com Validator is a tool for Unix users; it is the off-line version of the online WDG HTML Validator.
- Off-line HTML Validator – A clipbook for NoteTab by Professor Igor Podlubny is an extension for the programming editor NoteTab. It uses James Clark's open-source SGML parser, which is also used by the W3C Markup Validation Service.
- Do-it-yourself Offline HTML Validator by Matti Tukiainen explains how you can create a simple validator with James Clark's SGML parser on Windows.
- Validating an entire site by Peter Kranz explains how you can install a modified version of the W3C Markup Validation Service that outputs validation results as XML on Mac OS. Source code (in Perl and Python) is available.
- Can I use the W3C MarkUp Validation Service to validate HTML? explains how you can validate HTML from within the free editor HTML-Kit.
- HTML/XML Validator is an online repair tool for HTML and XHTML based on Tidy and PHP 5. It is available in several languages but it is not a real validator.
- Fix Your Site With the Right DOCTYPE! by Jeffrey Zeldman explains what HTML and XHTML doctypes work and what their effect is on the rendering mode of a few browsers.
- Modifying Dreamweaver to Produce Valid XHTML by Carrie Bickner.
- XHTML-Schemata für FrontPage 2003 und Visual Studio .NET by Christoph Schneegans is a German article that explains how the W3C XML Schemas for XHTML 1.0 can be used in FrontPage 2003 and Visual Studio .NET to create valid code.
- Nvu is a free and open-source Web authoring tool for Windows, Macintosh and Linux that can call the W3C HTML Validation Service.
- Amaya by the World Wide Web Consortium is a free and open-source Web authoring tool with support for HTML, XHTML, CSS, SVG and MathML that alerts you to validity errors when you save a document.
- Web Developer Extension is an extension for Mozilla, Firefox and Flock by Chris Pedrick that allows you to use the W3C Validation Services for HTML and CSS.
Validating XML
- XML Validator - A Document Validation Service by JavaView allows you to check wellformedness and validity of XML files, by file upload or by direct input of XML code.
- Apache Ant's XMLValidate Task can be used to validate XML-based documents. This tool can be used to validate entire directories (and subdirectories) of XML files.
- XML Schema Validator by Christoph Schneegans is an online tool that allows you to validate XML (and XHTML) files by URI, by file upload, by direct input of complete XML documents, and by direct input of XML code fragments. A bookmarklet that allows you to validate the page currently displayed in your browser is also available. This validator claims to be more accurate than the W3C validator.
- XML Schema Validator by CoreFiling is an online tool that allows you to validate an XML file against a W3C XML Schema, both of which can be uploaded.
- Schema Validator: this is a validator that allows you to paste XML and W3C XML Schema code into text boxes to validate XML code.
Note that many programming editors, XML editors and integrated development environments (IDEs) can validate XML files. These include the following free and/or open-source tools:
- the programming editor JEdit with the XML and SideKick plugins, which supports DTDs and W3C XML Schemas,
- the “workbench" Eclipse with the Web Tools Platform,
- the Web authoring tool SCREEM for the Gnome desktop environment, which supports DTDs,
- the XML editor Jaxe, which validates XML files with Apache Xerces,
- the XML editor Xerlin, which supports DTDs and to some extent W3C XML schema,
- the XML editor xmloperator, which supports DTDs and RELAX NG schemas,
- Emacs in nXML mode (see the YahooGroup Emacs nXML Mode),
- the XML editor Pollo, which supports DTDs, W3C XML Schemas and RELAX NG schemas, and is best suited for tree-like XML files.
検証
手順
HTML、SGML ベース及び XML ベースのウェブコンテンツ技術に対して:
- それぞれのページ又はドキュメントをバリデーションを行うパーサーで読み込む。
- バリデーションエラーがないことを確認する。
その他のウェブコンテンツ技術に対して:
用いているウェブコンテンツ技術に対してバリデーションの手順が存在する場合は、それに従う。
期待される結果
HTML、SGML ベース、及び XML ベースのウェブコンテンツ技術に対して:
2. の結果が真である。