2

国連のアクセシビリティ ガイドラインに従って、アクセス可能なテーブルを作成しています。

私はこのテーブルを持っています。私は 、太字であるべきだと思うものを作成しました。<th>

テーブル

これはHTMLです:

<table width="100%">
    <thead>
        <tr>
            <th>Year</th>
            <th>1991</th>
            <th>1995</th>
            <th>2000</th>
            <th>2002</th>
            <th>2007</th>
        </tr>
    </htead>
    <tbody>
        <tr>
            <th>Indicator 1</th>
            <td>3.0</td>
            <td>11.0</td>
            <td>7.8</td>
            <td>4.0</td>
            <td>4.7</td>
        </tr>
        <tr>
            <th>Indicator 2</th>
            <td>9.0</td>
            <td>23.4</td>
            <td>19.5</td>
            <td>9.4</td>
            <td>9.1</td>
        </tr>
        <tr>
            <th>Indicator 3</th>
            <td>18.7</td>
            <td>32.0</td>
            <td>30.0</td>
            <td>20.1</td>
            <td>21.8</td>
        </tr>
    </tbody>
</table>

しかし、それが正確かどうかはわかりません。これはより理にかなっていると思います:

<table>
    <tbody>
        <tr>
            <th id="year">Year</th>
            <td headers="year" id="year-1991">1991</td>
            <td headers="year" id="year-1995">1995</td>
            <td headers="year" id="year-2000">2000</td>
            <td headers="year" id="year-2002">2002</td>
            <td headers="year" id="year-2007">2007</td>
        </tr>
        <tr>
            <th id="indicator-1">Indicator 1</th>
            <td headers="indicator-1 year-1991">3.0</td>
            <td headers="indicator-1 year-1995">11.0</td>
            <td headers="indicator-1 year-2000">7.8</td>
            <td headers="indicator-1 year-2002">4.0</td>
            <td headers="indicator-1 year-2007">4.7</td>
        </tr>
        <tr>
            <th id="indicator-2">Indicator 2</th>
            <td headers="indicator-2 year-1991">9.0</td>
            <td headers="indicator-2 year-1995">23.4</td>
            <td headers="indicator-2 year-2000">19.5</td>
            <td headers="indicator-2 year-2002">9.4</td>
            <td headers="indicator-2 year-2007">9.1</td>
        </tr>
        <tr>
            <th id="indicator-3">Indicator 3</th>
            <td headers="indicator-3 year-1991">18.7</td>
            <td headers="indicator-3 year-1995">32.0</td>
            <td headers="indicator-3 year-2000">30.0</td>
            <td headers="indicator-3 year-2002">20.1</td>
            <td headers="indicator-3 year-2007">21.8</td>
        </tr>
    </tbody>
</table>

どう思いますか?テーブルとアクセシビリティの経験がある人はいますか? 可能であれば参考文献を提供してください。ありがとう。

注: このsummary属性は認識していますが、簡単にするためにここでは削除しました。


最初にメモリ内の重複する車のエントリをフィルタリングしてから、新しいアイテムで create を呼び出すことができます。

uniq_attrs = ['slug', 'model_slug', ...]
existed_attrs = set()
for car in car_list:
    # skip the duplicates
    if any([(attr, car[attr]) in existed_attrs for attr in uniq_attrs):
        continue
    uniq_attrs.update([(attr, car[attr]) for attr in uniq_attrs])

    # save the new car to db
    Car.objects.save(....)

または、一意のフィールドで get_or_create を試してから、モデルの保存で他の属性を保存できます。

for car in car_list:
    attr_dict = {attr:car[attr] for attr in uniq_attrs}
    car, created = Car.objects.get_or_create(**attr_dict)

    # already created before
    if created:
        continue

    # save other attributes
    car.set(...)
    car.set(...)
    car.save()
4

2 に答える 2

3

このような単純な構造のテーブルの場合、マークアップ (最初の単純なバージョン) でアクセシビリティは十分です。同様の構造を持つ表が、WCAG 2.0 の HTML および XHTML テクニックの項目「表のマークアップを使用して表形式の情報を表示する」に表示されます。余分なマークアップはありませんth。ヘッダー セルのみです。

構造的により複雑なテーブルには、特別なテクニックが必要になる場合があります。

ただし、データ テーブルには通常caption、アクセシビリティと使いやすさのための要素が必要です。これは、ユーザーがテーブル全体に関する重要な情報を取得するのに役立ちます。キャプションの代わりに、表の前の見出しまたは単なるテキストを目的に使用できますが、それらは (マークアップ レベルで) 表と同じ方法で関連付けることはできません。

于 2013-05-26T13:55:11.013 に答える