0

role="main"属性でマークされたページに複数の要素を含めることは可能ですか?

検索結果が分割されたページがあります。部分はページに似ていますが、AJAX でデータが増えると、新しい部分がページに表示されます。

JAWSなどの利用者には文書の構造を理解してもらい、目の前に検索結果ページがあり、分割されているという情報を提供してほしい。

このマークアップは、JAWS によって正確に発音されます。

<div class="main" role="main" aria-label="Search results">

    <div class="main__portion" role="main" aria-label="Page 1">
        <a href="#">Link 1</a><br/>
        <a href="#">Link 2</a>
    </div>

    <div class="main__portion" role="main" aria-label="Page 2">
        <a href="#">Link 1</a><br/>
        <a href="#">Link 2</a>
    </div>

</div>

しかし、すべての部分を でマークするのはオーバーヘッドに見えますrole="main"。どの役が似合う?そして要件は、JAWS が最初のリンクにフォーカスしたときに「検索結果ページ 1」を読み取る必要があることです。

4

2 に答える 2

2

各 div をメインとしてマークすると検証されますが、目の見えないユーザーに役立つ情報は提供されません。Main は、プライマリ コンテンツをセカンダリ コンテンツと区別するために使用されるため、既にあるように外側の div で使用することが適切です。それをすべての内部 div に配置すると、ノイズになり、実際のコンテンツに到達する前にもう 1 つ聞く必要があります。

スクリーン リーダーのユーザーは、合計で何件の結果があり、どの結果が表示されているかを把握できると便利です。これは、リスト マークアップを使用するか、ページの上部に合計を表示してから、タイトル/見出し/リンク テキストの一部として各結果に番号を付けることで実行できます。原則として、目の見えるユーザーにとって明らかな情報は、コンテンツまたはマークアップにも存在する必要があり、ARIA は必要に応じてフォールバックまたは追加のサポートのみを提供します。

于 2013-11-04T04:33:33.923 に答える
0

WAI-ARIA のmain役割:

ドキュメントまたはアプリケーション内で、作成者は主な役割を持つ要素を 1 つだけマークする必要があります

しかし、それはMUSTではなくSHOULDです。

(HTML5 のmain要素は、ドキュメント内で 1 回しか使用できないことに注意してください。)

于 2013-11-03T22:23:07.903 に答える