セマンティクス: Html/Xhtml は本当に標準に準拠していますか?

セマンティクス: Html/Xhtml は本当に標準に準拠していますか?
<br />原文: http://jorux.com/archives/what-is-semantics/
セマンティクスはセマンティクス(科学)と翻訳することができ、Html/Xhtml が標準に本当に準拠しているかどうかの重要な部分です。 Jorux は、彼自身の意見を皆さんと議論するためにここにいます。不適切な点があれば、訂正してください。なぜ西洋では多くの人がウェブページのセマンティクスをそれほど重視するのでしょうか。西洋はより規則を遵守し、標準を重視していると言う人もいるかもしれませんが、私が言いたいのは、これらの外見の背後には「見えざる手」がそれをコントロールしているということです。
ここで、ナビゲーション バーの例を挙げて、私の主張を説明したいと思います。次のようなナビゲーション構造をたくさん見たことがあるはずです。
ホーム | 概要 | ブログ | メッセージ | アルバム これらすべてに共通する特徴は、各エントリを区切る区切りバー「|」があることです。ナビゲーション バーの上記の効果を実現するには、Html/Xhtml を記述する方法が多数あります。ここでは、いくつかの典型的な例を示します。
例1:
<p><a href=”home.html”>ホーム</a> | <a href=”about.html”>概要</a> | <a href=”blog.html”>ブログ</a> | <a href=”message.html”>メッセージ</a> | <a href=”album.html”>アルバム</a></p>
例2:
<ul>
<li><a href=”home.html”>ホーム</a></li>
<li>|</li>
<li><a href=”about.html”>概要</a></li>
<li>|</li>
<li><a href=”blog.html”>ブログ</a></li>
<li>|</li>
<li><a href="message.html">メッセージを残す</a></li>
<li>|</li>
<li><a href=”album.html”>アルバム</a></li>
</ul>

例3:
<ul>
<li><a href=”home.html”>ホーム</a> | </li>
<li><a href=”about.html”>概要</a> | </li>
<li><a href=”blog.html”>ブログ</a> | </li>
<li><a href=”message.html”>メッセージを残す</a> | </li>
<li><a href=”album.html”>アルバム</a></li>
</ul>

例4:
<ul>
<li><a href=”home.html”>ホーム</a></li>
<li><a href=”about.html”>概要</a></li>
<li><a href=”blog.html”>ブログ</a></li>
<li><a href="message.html">メッセージを残す</a></li>
<li><a href=”album.html”>アルバム</a></li>
</ul>

上記は、セマンティクスを説明するための 4 つのナビゲーション バーの HTML/XHTML の例です。
例 1 では、段落 p をナビゲーション バーのセマンティック要素識別子として使用しています (div などの構造要素ではなく)。明らかに典型的なミスで、元々は項目 (リスト) だったナビゲーション バーを段落と間違えていました。
例 2、3、4 はすべて、ナビゲーション バーのセマンティック要素識別子として ul/li を使用しています。これらの例の唯一の違いは、区切り文字 "|" の位置と、それが HTML/XHTML に表示されるかどうかです。
CSS の存在とその外観を制御する機能のおかげで、上記の 4 つの例の外観は、肉眼では気付かれないまままったく同じにすることができます。しかし、これは単なる見かけ上の話です。検索エンジンがインターネット上で地位を高め、XML がより頻繁に使用され、より重要になるにつれて、ロボットである検索エンジンは HTML/XML/XML ソース コードのみを読み取り、CSS は読み取りません。つまり、検索エンジンは Web ページの見栄えの良さよりも、そのページの実際の意味を重視するようになります。言い換えれば、Web ページをセマンティック標準に準拠させることは、これらのロボットが Web ページをよりよく理解し、検索結果での Web サイトのランキングを向上させ、より大きな利益を得ることができることを意味します。この見えざる手は、Web ページが W3C テストに合格したかどうかよりもさらに重要なセマンティクスに対する西側諸国の重点を決定します。
個人的には、セマンティクスの意味は次のようになると考えています。
CSS を削除しても、Web ページは標準的でわかりやすい外観のままになります。
このルールにより、肉眼とロボットのロジックをある程度統一することができます。上記の理論を使用すると、例 1の間違いが理解しやすくなります。エントリ内のキーワードは、段落内のキーワードよりも価値があります。もともと記事であるコンテンツに段落を使用する必要があるのはなぜですか? !
では、例 2、3、4ではなぜセパレーターがそれほど重要なのでしょうか?
例 2 と 3 の違いは位置だけです。外観を制御する CSS がないため、Html/Xhtml 表現の違いは明らかです。読者は試してみてください。例 2では、スプリッターだけで 4 つの li 要素を占有し、元の 5 つの li 要素は 9 つになります。例えば、5人だった会社が9人になった場合、全員の持ち株は半分に薄まり、各株主の重要性は確実に弱まります。さらにひどいのは、株主のうち4人がまったく同じ人物だということです。ロボットは、これら 4 人の株主 (|) をより重要と見なし、他の株主 (キーワード) の重要性を低下させる可能性があります。例3では、分離者を元の株主の秘書にすることで、キーワードの重要性は当然影響を受けません。
見た目の観点から見ると、例 3 は例 2よりも優れています。例 2では、区切り線が 1 行を占めており、わかりにくいです。
次に例 4では区切り文字が使用されていないため、意味的にはより優れています。セパレーター バーの外観は、画像の背景を使用して CSS で簡単に実現できます。さらに、このタイプのような単色のセパレーター バーは、gif 形式で数バイトしか占有しないため、ダウンロード速度に影響しません。
上記は、Jorux が西洋人とのコミュニケーションから得た洞察と、ユーザーからのフィードバックを組み合わせたものです。異なる意見や質問がある場合は、遠慮なく批判してください。
これが中国本土の友人たちの注目を集め、 h1/h2/p/ul/li/blockquote/tableなどの意味要素の使用と標準化に注意を払い、 divなどの構造要素を乱用しないように促すことを願っています。Robotはそのような要素にあまり近づきません。たとえば、厳密に言えば、1 つの Web ページには Web ページのタイトルとなるh1 が1 つだけ許可されます。Robot における h1 のステータスは、<title></title> に次ぐものです。
注:前回の更新がいつだったか忘れてしまいました。更新速度が速すぎて、諦めてしまいそうになります。こんな半端なサイトはだんだん忘れ去られていくだろうと思っていたのですが、フィードの購読者数がどんどん増えてきており、Feedburner のカウンターに何か問題があるのではないかと疑ってしまいます。
私を慰めてくれるのは、この記事「ブログ投稿ではなく記事を書こう」です。インタラクティブ インターフェースの権威である Jakob Nielsen 氏は、どうやらカタツムリのようなペースの合理性を見つけたようです。この人のアラートボックスを購読できます。

<<:  CSS3 フリップカード番号サンプルコード

>>:  MYSQLが中国語を認識できない問題の恒久的な解決策

推薦する

Vueはミックスインを使用してコンポーネントを最適化します

目次ミックスインの実装フック関数のマージプロジェクト実践伸ばす要約するVue は mixins AP...

Oracle Rownum 書き込みに似た MySQL の詳細な例

Rownum は、Oracle での独自の書き込み方法です。Oracle では、rownum を使用...

Django が uwsgi+nginx プロキシで静的リソースにアクセスできない問題の解決方法

uwsgi+nginx プロキシ Django をデプロイする場合、uwsgi を使用したアクセスは...

Dockerを使用してOracle_11gをインストールする方法

DockerでOracle_11gをインストールする1. oracle_11gイメージを取得する d...

不規則な絵の滝の流れ原理の分析と応用

プロジェクトで発生した不規則な絵画壁のレイアウト問題は、次のように分析されます。 1.img dis...

Ubuntu 18.04 で apt-get ソースを変更する方法

apt-get を使用してインストールすると、非常に遅くなります。国内のソースを変更すると、この問題...

Linux 負荷分散 LVS の詳細な理解

目次1. LVS 負荷分散2. 負荷分散LVSの基本紹介3. LVSアーキテクチャ3.1 ロードバラ...

ブラインドの特殊効果を実現するネイティブJS

この記事では、ネイティブ JS で実装されたブラインドの特殊効果を紹介します。効果は次のとおりです。...

Zabbixについて管理者ログインパスワードを忘れた場合、パスワードをリセットする

Zabbix 管理者ログイン パスワードのリセットに関する問題は次のとおりです。 1. 問題の説明:...

CSS エラスティック ボックス flex-grow、flex-shrink、flex-basis の詳細な説明

3 つの属性 flex-grow、flex-shrink、flex-basis の機能は次のとおりで...

docker インストール後に hello-world を実行する問題を解決する

yumを使用してcentos7.3にDocker V1.13.1をインストールしましたしかし、doc...

Vueはマーキースタイルのテキストの水平スクロールを実装します

この記事では、マーキースタイルのテキストの水平スクロールを実現するためのVueの具体的なコードを参考...

XHTML の一般的な構造タグ

構造本文、見出し、HTML、タイトル文章abbr、頭字語、アドレス、引用ブロック、br、引用、コード...

MySQLの分離レベルとロックメカニズムの詳細な説明

目次簡単な説明: 1. 取引の4つの特徴2. 複数の同時トランザクションによって発生する問題3. ト...

dockerカスタムイメージでphp7をビルドする方法

まず、簡単な Docker インストールを実行します。イメージをカスタマイズするには、ベースイメージ...