意味のあるcss.classと#idの名前を書くことの利点は何ですか?スクリーンリーダーは、ユーザーがタグ内のコンテンツの意味と目的を理解できるように話しますか?
4 に答える
一般的に言えば、それは開発者/設計者にとってのみ有益です。
他の答えも良いですが、ここではスクレイピング/サードパーティツールの側面に焦点を当てます。
ケース1は、検索エンジンのようにクモとクロールです。彼らがあなたのページを解析してのようなものを見た場合id="username"
、彼らはその中で何らかの意味を理解する可能性が高くなりid="div-style-32"
ます。確かに、グーグルが今この種のことをしているのかどうかはわかりませんが、もっと多くの人がそれについてもっと良かったのかもしれません。
ケース2は、コンテンツをデータとして抽出するためにHTMLをプルダウンして処理するスクリプトを作成する人々です。これを実行したいほとんどの人は、どのマークアップでも実行できます。それは、それがどれほど煩わしいかという問題です。よりクリーンでより適切に記述されたマークアップにより、セマンティクスが向上したため、スクレーパースクリプトは必要な情報をより簡単に見つけることができます。
これには、ユーザーがサイトの動作を変更できるようにするブラウザー拡張機能やGreasemonkeyスクリプトなども含まれます。よりクリーンなマークアップを使用すると、これらの変更を簡単に作成できます。
しかし、クライアント側の拡張機能を使用してサイトをスクレイピングまたは変更したくない場合は、技術的な観点からできることはほとんどありません。あなたはそれを止めることはできません、あなたはそれをお尻のより多くの痛みにすることができるだけです。また、サイト開発者にとっての保守性のメリットは非常に大きいです。だから本当に、なぜですか?
要するに、それはあなたや他の人があなたのサイトでできるすべての異なることをより簡単にします。
繰り返しますが、セマンティクスに関する最近のすべての質問と同様に、答えは同じままです。
それはすべて、問題のエンティティのデータコンテキストに依存します。
要素が意味のあるフィールドを保持している場合は、その特定のフィールドを簡単に定義するためだけに、その要素にクラスを割り当てると便利です(CSSを適用したくない場合でも)。
<span class="username">Andrew Moore</span>
そうすることには、次の利点があります。
- コード内のフィールドのコンテンツを簡単に識別します。
- 保守性が向上します。
- これは、パーサーおよびサードパーティアプリケーションがこのフィールドの値を取得するのに役立ちます。
マイクロフォーマットは、この大きな例にすぎません。簡単に言えば、これらは特定のデータセットを保持する事前定義された要素と属性のセットであり、サードパーティツールによる解析を容易にすることを目的としています。
あなたは機械のためではなく、人間のためにそれをします。
マシンだけを気にかけていれば、アセンブリでコーディングしているでしょう:)