<div>
スクリーンリーダーは、古いベースのWebサイトとは対照的に、ベースのWebサイトを処理するのがどれほど簡単で<table>
、なぜそれが悪いのでしょうか。
4 に答える
スクリーンリーダーは、a内のコンテンツtable
が表形式であると想定し、そのように読み上げます。例:「行1、列1 :(コンテンツ)」。テーブルを使用してサイトをレイアウトする場合、これは必ずしも意味がありません。実際にはないのに、表形式の重要性を持つデータがあることをエンドクライアントに伝えています。
対照的に、div
「セクション」以外の意味はないため、スクリーンリーダーはそれらを意味することを試みません。divを使用すると、マークアップの意味に影響を与えることなく、レイアウトに任意の視覚的な区切りを作成できます。
これは、「セマンティック」マークアップと言うときの意味です。セマンティックとは、マークアップがその中のコンテンツの意味を正確に記述していることを意味します。テーブルは表形式のデータをUL
ラップし、sは順序付けられていないリストをラップします。
テーブルベースのサイトでは、表示されているデータの種類についてスクリーンリーダーが混乱する可能性があります。元々、テーブルはデータの2Dリストを表示するために使用されていました。しかし、デザインに合うようにテーブルが使用されているため、読者はテーブルの意図を区別する必要があります。
テーブルの用途によって異なります。テーブルがレイアウトに使用される場合、スクリーンリーダーはこれを知る方法がなく、行1、列1、行1列2、行2列1行2列2など、セルごとに読み取ります。コンテンツの表示方法。データを構造化された形式で表示する必要がある場合は、キーストロークを使用して行ごとおよび列ごとに読み取ることができるため、スクリーンリーダーを使用するのに最適な方法です。スクリーンリーダーのユーザーとして、データのレイアウトが不十分であるか、テーブルがまったく使用されておらず、他の視覚的な表示が使用されているために、データが意味をなさないように見える場合は、不快に感じます。
DIVはテーブルよりもスクリーンリーダーでうまく機能するという見方には、本当の問題がありません。
現在のCSSおよびHTML標準では、スクリーンリーダーを支援するための明示的なタグ/インジケーターは提供されていません。それが実現するまでは、DIVとテーブルのどちらを使用するかに関係なく、「意味的に正しいCSSページ」または「ジョブを実行するテーブル」がほとんどのスクリーンリーダーで機能することを期待する必要があります。
テーブルを使用しているので、DIVのみを使用して理解できないページを作成することも同様に簡単であることを忘れないでください。