5

<table>HTML要素がデフォルトで属性 scope="col" を<th>要素内に含まれる要素の最初のグループに暗黙的に適用するかどうか疑問に思っていました<thead>か?

以下の HTML の最初のセットをブラウザーでレンダリングすると、1<th>月、2 月、3 月、4 月などのセルが列のヘッダーであることが自動的に検出されるようです。このように自動的にレンダリングされるため、scope="col" をマークアップに追加する必要がないのでしょうか?

 <table>
    <caption>2009 Employee Sales by Department</caption>
    <thead>
        <tr>
            <th></th>
            <th>Jan</th>
            <th>Feb</th>
            <th>March</th>
            <th>April</th>
            <th>May</th>
            <th>June</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <th scope="row">Firefox</th>
            <td>37.1</td>
            <td>36.6</td>
            <td>36.3</td>
            <td>35.8</td>
            <td>35.2</td>
            <td>34.4</td>
        </tr>
        </tr>   
    </tbody>
</table>

この 2 番目のマークアップ セットには、1 月、2 月、3 月、4 月などのタグに追加された scope="col" が含まれています。必要ですか? 上記の例では、<th>スコープ "col" なしでとにかくこれらを列としてレンダリングしているようです。

scope 属性は、通常の Web ブラウザーでは視覚効果がありませんが、スクリーン リーダーで使用できることは承知しています。では、セマンティック マークアップとアクセシビリティを向上させるために追加する必要があるのでしょうか。

<table>
        <caption>2009 Employee Sales by Department</caption>
        <thead>
            <tr>
                <th scope="col"></th>
                <th scope="col">Jan</th>
                <th scope="col">Feb</th>
                <th scope="col">March</th>
                <th scope="col">April</th>
                <th scope="col">May</th>
                <th scope="col">June</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <th scope="row">Firefox</th>
                <td>37.1</td>
                <td>36.6</td>
                <td>36.3</td>
                <td>35.8</td>
                <td>35.2</td>
                <td>34.4</td>
            </tr>
            </tr>   
        </tbody>
    </table>
4

2 に答える 2

3

HTML5仕様によると、scope属性のデフォルトは次のautoとおりです。

スコープ属性の欠落値のデフォルトは自動状態です。

この値の特徴は

自動状態により、ヘッダーセルはコンテキストに基づいて選択されたセルのセットに適用されます。

したがって、スクリーンリーダーはコンテキストを適切に検出できると思います。つまり、値の特別なインスタンスやユースケースがない限り、属性を明示的に定義する必要はありませrowgroupcolgroup

于 2012-10-16T09:03:28.647 に答える
0

スコープ属性を使用して、テーブルの意味をさらに指定できます。通常のテーブルでは、私はそれを使用しませんが、テーブルがページ上で意味を持ち、人々がそれを引き継ぐことを望む場合は、特にリーダーで使用すると便利です. ただし、テーブルを追加して小さなことを行うだけの場合は、そのままにしておきます。個人的には、これはテーブルが実際に拡張された場合にのみ調べる必要があるものです。

定義は次のとおりです。

定義と使用法

scope 属性は、ヘッダー セルが列、行、または列または行のグループのヘッダーであるかどうかを指定します。

これは、W3 Web サイトからのものです。

于 2012-10-16T09:07:25.390 に答える