ホームページ >ウェブフロントエンド >CSSチュートリアル >HTMLページでWAI-ARIAによる冗長性を回避します
ARIAの役割をHTMLに組み込むため、Web開発は大幅に容易になりました。 ARIAは、補助技術(ATS)に追加のセマンティック情報を提供することにより、障害のある人のWebアプリケーションの使いやすさを高めます。 ただし、重要な質問は続きます。ARIAの役割属性は、HTML要素がすでに固有のセマンティクスを持っている場合に必要ですか? この記事では、この問題を調査し、暗黙のセマンティクスを持つ新しいHTML5構造要素がARIAの役割とどのように相互作用するかに焦点を当てています。
キーポイント:
HTML要素が必要なセマンティクスを既に提供している場合、 ariaの役割の使用を避けてください。 不要なARIA属性は、冗長コードを作成します
HTML5要素には、デフォルトの暗黙的なARIAセマンティクスがあります。したがって、一致するAriaの役割またはaria-*
Aria Fundamentals and Common誤解:ariaの役割とほとんどの要素:
Ariaの役割、プロパティ、および状態は、HTML要素のセマンティクスを公開できます。 これは、要素の
デフォルトの暗黙的なariaセマンティクス
。として知られています。 ARIA属性を追加する前に、セマンティックで正しいHTML(ネイティブセマンティクスを活用)に優先順位を付けます。 ARIAの役割は、一般に、ほとんどのHTML要素のデフォルトのセマンティクスを強化しません。 シンプルに保ちます:HTML要素が本質的にセマンティクスを提供する場合、ARIAを使用しないでください。そうすることで、冗長コードが作成されます
ariaの役割とhtml4:アクセシビリティの専門家であるSteve Faulknerが説明するように、HTML4(および以前の)要素は、すでにマッピングされているため、デフォルトのセマンティクスを公開するために追加のARIA役割を必要としません。 このコンテキストでARIAの役割を追加することは無意味で、コードレビューに不必要な複雑さを追加します。
html5拡張機能:
HTML5仕様には次のように述べています。「ほとんどの場合、デフォルトの暗黙的なARIAセマンティクスと一致するARIAロールおよび/または属性を設定することは不要であり、推奨されません。」
HTML5要素にはデフォルトの暗黙的なARIAセマンティクスがありますが、すべての要素が検証なしでマッピングされることは保証されていません。 したがって、ARIAの役割を予防措置として追加することを考慮して、冗長性を受け入れることができます。 ARIAの冗長性
冗長性:
インタラクティブなHTML5要素にデフォルトの暗黙のARIA役割を追加する(フォーム要素やなど)は効果がありません。 有害ではありませんが、それは不要であり、開発時間を無駄にします。 インタラクティブな要素には、アクセス可能な名前が必要です(アクセシビリティAPIのアクセス可能な名前プロパティに値を提供します)。 たとえば、<button></button>
効率が低い:
<code class="language-html"><label>Title</label><input type="text"></code>
より効率的:
2番目の例では、ラベルを入力と明確に関連付けて、<code class="language-html"><label for="title">Title</label><input type="text" id="title"></code>および
属性を使用します。
for
id
冗長性の例(回避するため):
インタラクティブな要素に関する冗長な役割:
<code class="language-html"><button role="button">Submit</button></code>
role="button"
<code class="language-html"><div hidden aria-hidden="true"></div></code>冗長になります。
hidden
確立された構造要素に関するaria-hidden
<code class="language-html"><h1 role="heading" aria-level="1">I am a Heading</h1></code>の両方が不要です。
HTML5構造要素を備えたrole
aria-level
aria:
HTML5は、デフォルトの暗黙的なARIAセマンティクスマッピングを備えた構造要素(例えば、、
、)を導入しました。 ただし、一部のマッピングは条件付きです。たとえば、<aside></aside>
は<article></article>
または<main></main>
内にない場合にのみ<footer></footer>
にマップします。 ブラウザは本質的にこれらのデフォルトのセマンティクスを公開します
role=contentinfo
<article></article>
ブラウザのサポート:<section></section>
ほとんどの最新のブラウザは、HTML5構造要素とセクション要素のデフォルトの暗黙的セマンティクスをサポートしています。 (Internet Explorerの実装は異なる場合があります。)
結論:HTML5仕様が機能を既に定義している場合、ARIAの役割、プロパティ、および状態を避けてください。 多くのHTML5要素には、デフォルトの暗黙的なARIAセマンティクスがあります
Ariaサポートは一般に最新のブラウザ全体で優れています(例外を除く)。Wai-Ariaは、Webアクセシビリティイニシアチブ - アクセス可能なリッチインターネットアプリケーションの略で、World Wide Webが公開する技術仕様ですコンソーシアム(W3C)。特に障害のある人向けに、Webコンテンツとアプリケーションのアクセシビリティと相互運用性を向上させるためのフレームワークを提供します。これは、障害のある人がWebコンテンツをよりアクセスしやすくする方法を定義することでこれを行います。たとえば、スクリーンリーダーのような支援技術がWebコンテンツの構造と機能を理解するのに役立つように、追加のセマンティクスを提供するなどします。 WAI-ARIAおよびHTMLページ?
HTMLでリスト項目の役割を使用する場合、冗長性を回避するにはどうすればよいですか? HTMLの「LI」要素にとっては、listItemの暗黙の役割があるため、役割は不要です。 listitemのARIAロールを「LI」要素に追加すると、冗長性が生じます。これを回避するには、ARIAの役割を追加せずに「LI」要素を使用するだけです。
以上がHTMLページでWAI-ARIAによる冗長性を回避しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。