コードの互換性を高めるために、HTMLを次のように記述します。

コードの互換性を高めるために、HTMLを次のように記述します。
たとえば、スクリーン リーダー ソフトウェアを必要とするユーザーなどです。フロントエンド開発者として、どうしてそんなことに耐えられるでしょうか?よりアクセスしやすいページを作成する方法を共有するために、このような記事を書きたいとずっと思っていました。今日の計画の 1 つは、HTML タグと WCAG 標準を組み合わせることです。誰かの生活を楽にするために、HTML をこのように記述することをお勧めします。

本日ご紹介したいのは、HTML タグを使用して WCAG 標準とセマンティック ウェブの目標をコードに具体化する方法をご紹介します。

1. 文書宣言: <!Doctype>

実際、これは WCAG とは何の関係もありませんが、より互換性のあるページ、特に下位互換性のあるページの場合は、次のように記述することをお勧めします。

 <!Doctype html>

2. リンク: <a>

インターネット接続は、ページの最も一般的なタグである <a> によってほぼ実現されていると言えます。どう対処したらいいでしょうか?

  1. キーリンクのアクセスキーを追加する
  2. 絶対に必要な場合を除き、フォーカス中に点線のボックスを削除しないでください。
 <a href="" title="" accesskey="M" rel=""フォーカスを非表示>リンク</a>

3. 略語: <abbr>

HTML タグを正しく使用することも非常に重要です。これは、スクリーン リーダーのユーザーがページ構造を理解するのに役立つためです。特に、H1、H2、H3 などのタグを使用する場合、誤用すると構造がわかりにくくなる可能性があります。もちろん、一般的なタグを使用し、CSS を使用して視覚的なコントラストを作成することも、一般の人々が認識できるものです。しかし、スクリーンリーダーのユーザーはどうでしょうか?もちろん、ここでページ タグの使用に注意する必要があることを述べましたが、abbr に関して最も重要なことは、略語を説明するために title 属性を追加する必要があることです。例えば:

 <abbr title="Web 開発者" >WD</abbr>

4. ブロック引用: <blockquote>、一般引用: <cite>

引用が長い場合は <blockquote> を使用し、インライン引用には <cite> を使用して、構造を読みやすくします。

 <引用>
    よりアクセスしやすいページを作成する方法を共有するために、このような記事を書きたいとずっと思っていました。今日の計画の 1 つは、HTML タグと WCAG 標準を組み合わせることです。誰かの生活を楽にするために、HTML をこのように記述することをお勧めします。
</blockquote>
<p>私が最も感銘を受けた文章は、<cite>「フロントエンド開発者になるには愛が必要です。あらゆる場面であらゆる種類の人々を攻撃するような怒鳴り声のようなスタイルを使わないこと。」</cite>です。 </p>

5. 削除: <del>

紙に書くことは、元に戻すキーを使用できるコンピューターでの書き込みとは異なりますが、何かが削除されたことを強調したい場合はどうすればよいでしょうか。それは <del> タグを使用することです。例えば:

 <del>HTML で強調するには、&lt;b&gt; タグを使用します。</del>
HTML で強調するには、&lt;strong&gt; タグを使用します。

効果は次のようになります:

HTML で強調するには、<b> タグを使用します。
HTML で強調するには、<strong> タグを使用します。

6. 定義リスト: <dl>

昨年、Alipay のフロントエンド ブログで新しいメンバーを指導していたとき、最も印象に残ったのは、彼らが <dl> を気に入って使用していたことです。当時、私はこれらの学生たちはかなり優秀で、意味論をよく理解していると思いました。定義リストはまだほとんど使用されていません。代わりに、通常の <ul> <ol> タグを使用してください。 <dl> も注意して使用する必要があります。コーヒーとミルクを定義している w3school の次の例のように、「定義」の意味を持つエントリでのみ使用することをお勧めします。

 <ダウンロード>
  <dt>コーヒー</dt>
    <dd>- ブラックホットドリンク</dd>
  <dt>ミルク</dt>
    <dd>- 白い冷たい飲み物</dd>
</dl>

7. 順序なし/順序付きリスト <ul>/<ol>

リスト、これはすべてのフロントエンド開発者にとって馴染みのあるものです。非常に柔軟に構造を適用できるため、ナビゲーション、リスト、タブなどでよく使用されます。これについてはこれ以上言う必要はありません。ただし、理解しておく必要があるのは、<ul>/<ol> が <table> の代わりであると信じないことです。私たちがよく使用する HTML タグでは、各タグが独自の機能を持ち、他のタグの代わりになるものはありません。

 <オル>
  <li>コーヒー</li>
  <li>お茶</li>
  <li>ミルク</li>
</ol>

8. 表: <table>

表の場合は、リストはもちろん、段落も使用しないでください。絶対に必要な場合を除き、変換可能です。さらに、表には注目すべき点がいくつかあります。

  • <table> に summary 属性を追加します。一部のテーブルは非常に大きいため、全体を読む必要はありません。
  • <tbody> を追加します。私の記憶が正しければ、追加しない場合はブラウザが自動的に追加します。
  • 必要に応じて、<col> <colgroup> を使用して表示される列を制御します。
 <table summary="sofish のブログステータス">
    <頭>
        <tr>
            <th>日付</th>
            <th>IP</th>
            <th>PV</th>
        </tr>
    </thead>
    <t本文>
        <tr>
            <td>2011.3.11</td>
            <td>3000</td>
            <td>8000</td>
        </tr>
    </tbody>
</テーブル>

9. スニペットの書式設定 <code>/<pre>

<code> はコンピュータ コード テキストを参照し、<pre> はフォーマット済みテキストを参照します。 <pre> は範囲が広く、さまざまなテキスト、特にコードの書式設定に使用できるブロック要素です。使用時に注意すべき特別なことは何もありませんが、一般的な <p> の代わりに <pre> を使用しないなど、意味的に正しく使用することが重要です。

 <code>テキスト配置:center</code>
<前>
{ ( 1 * 10 2 ) + ( 9 * 10 1 ) + ( 3 * 10 0 ) }
</pre>

10. 改行: <br>

最近の Web ページでは、<br> が使用されることはほとんどありません。 Web ページ内の空白スペースは通常、CSS のパディングとマージンを使用して実現されます。より正確で制御が容易になります。現在推奨されている使用法は、ページ余白を制御するためではなく、一般的な段落 <p> で単純な改行に使用することです。

 <p>私は段落です。 <br />
詩では改行を使います。
</p>

11. 区切り線: <hr>

<hr> は非常に優れた意味効果を持っています。しかし、彼のビジュアルはコントロールが難しい。以前、さまざまなブラウザにおける <hr /> の問題について記事を書きました。一般的にはあまり使用されません。スクリーン リーダー ユーザー専用の別のページが用意されていれば、おそらく <hr> の方が便利でしょう。

 <h3>タイトル 1</h3>
<p>Lorem Ipsum とは...</p>
<時間 />
<h3>タイトル 2</h3>
<p>これは...のエントリです</p>

12. 非セマンティックタグ: <div>/<span>

実際、2 つのタグ <div>/<span> はセマンティックであり、どちらもドキュメント内のセクションを定義します。はい、実際には HTML5 の <section> と同じです。ただ、検索エンジンのせいで、検索エンジンはそれを非セマンティックなタグだと判断するので、「非セマンティック」なタグになってしまうのです。推奨される使用方法は、段落の代わりとしてではなく、レイアウトなどのページ フレームとして他のコンテナーを使用して、追加の視覚効果を追加することです。

 <div id="コンテナ">
    <div id="コンテンツ">
    </div>
    <div id="サイドバー">
        <ul>
            <li><span>神様</span>、ああ、なんてことだ</span></li>
        </ul>
    </div>
</div>

13. 段落/見出し: <p>、<h1>/<h2>/<h3>…

これらのタグは、ページ タグ階層の中で最も重要なタグであると言えます。これらのタグを説明するために本の構造を使用できます。ページを作成するときは、次の考え方も念頭に置く必要があります。

  • 書籍名: H1
  • 本の章タイトル: H2
  • セクション内の記事タイトル: H3
  • 章の段落: P
  • サブタイトル/字幕: H4/H5/H6

はい、もちろん、引用 <blockquote>、技術書で提供されているコード <pre class="code">、注意すべき点のリスト <ul>、便利な比較のための表 <table> などもあります。

 <h1>ロゴ</h1>
<h2>タイトル</h2>
<div class="entry">
    <h3>要約:</h3>
    <p>lorem ipsum は ...<em>強調</em> です</p>
</div>

14. 強調: <em>/<strong>

「emphasize」の略語。そして、<strong> は強い強調です。フロントエンド開発を始めたばかりの学生の多くは、<em>、<strong>、<cite>、<i>、<b> などのタグの使い方がよくわからないかもしれません。 <i> と <b> は基本的に廃止されており、現在の <em> と <strong> に相当します。一般的に、コンテンツの重要度の順序は次のとおりです: strong > em ≈ cite。

 <strong>注意:</strong> <cite>FONT、CENTER</cite> などの古いタグ、特に <em>FONT</em> は使用しないでください。

15. フォーム項目: <input>/<textarea>/<select>

フォーム項目は HTML では比較的複雑なタグであり、注意すべき点が多数あります。

  1. 各フォーム項目を説明するには、<label> を追加する必要があります。ラベルを使用できない場合は、フォーム項目に title 属性を追加します。
  2. フォーム フィールドが必須の場合は、「 * 」記号を使用してマークします。
  3. Flash は通常、フォーム項目の <label> を生成しません。自動ラベル オプションをチェックしてください。
 <フォームメソッド="post" アクション="http://sofish.de">
    <fieldset><legend>マイフォーム</legend>
      <label for="firstname">* 名:</label> <input type="text" id="firstname" />
      <label for="speech">何か言ってください:</label>
      <textarea id="スピーチ" />
      </textare>
      <input type="submit" value="submit" title="送信ボタン" />
    </フィールドセット>
</フォーム>

16. 画像: <img>

目の見えない人は絵を見ることができません。代替テキストを示すために alt を指定します。それはどんな絵なのか教えてください。

 <img src="http://sofish.de/favicon.ico" alt="Happy Favorites のファビコン" />

17. フレーム: <iframe>

<iframe> フレームの使用は避けるようにしてください。ただし、使用する必要がある場合は、それを説明する title 属性を指定するのが最適です。

 <iframe src="http://sofish.de" title="ハッピーお気に入り" /></iframe>

18. ストリーミングメディア: <video>/<audio>/<object>/<embed>

メディアの形式もより複雑になり、扱いが難しくなります。通常は次のようにします:

  • オーディオビジュアルメディアに対応するテキスト(対応するシーンを含む)を提供します。たとえば、スピーチ中の拍手は読者が現在の雰囲気を察知するのに役立ちますが、スピーチテキストに反映させる必要があります。残りも同様です。
  • 交響曲のような具体的な説明ができない場合は、簡単な説明をすることができます
  • テキストが長すぎて現在のページに収まらない場合は、メディアの後の対応する代替テキストへのリンクを提供できます。
  • メディアにてんかん発作を引き起こす可能性のあるコンテンツが含まれている場合は、その旨を明記する必要があります。
 <audio src="mozart.mp4">モーツァルト 交響曲第39番</audio>

19. ページタイトル: <title>

Web ページには必ずタイトルを含め、各タグは明確に区別できるものにしてください。たとえば、これは Alipay に反映されています。

アリペイウェブページタイトル

 <title>お問い合わせ - ハッピーなお気に入り</title>

20. 結論

よし。とりあえずここでやめておきます。 WCAG は、これらの単純な HTML タグの使用だけではありません。セマンティック Web ページは、1 つまたは 2 つの記事だけで記述できるものではありません。ゆっくりしてください。最も一般的なものから始めて、良い習慣を身につけましょう。記事の前の文章に戻りますが、ページをこんなに使いにくくすることに耐えられるでしょうか?

<<:  ユーザーはその理由を知る必要がある

>>:  フレックスとポジションの互換性の詳細な説明マイニングノート

推薦する

Centos8環境でSSHポート番号を変更する方法

目次序文始める序文サーバーのデフォルトの SSH ポート番号は通常 22 であるため、ほとんどのユー...

WeChatミニプログラムのすべてのページがログインされていることを確認する方法

目次現状解決さらなる解決策やっと現状WeChat ミニプログラムには、ホームページ、個人ページ、いく...

Vue 開発ガイドの重要な知識の要約

目次概要0. JavaScriptとWeb開発の基礎1. Vueの基本概念Vue コア機能コンポーネ...

IIS7 IIS8 http は自動的に HTTPS にジャンプします (ポート 80 はポート 443 にジャンプします)

IIS7 では、「URL REWRITE2」疑似静的モジュールがインストールされているかどうかを確...

ポートマッピング後に Docker コンテナが突然接続に失敗する問題のトラブルシューティング プロセス

1. 背景通常、外部サービスを提供する必要がある Docker コンテナの場合、起動時に -p コマ...

JavaScript を使用して動的に生成されるテーブルの詳細な説明

*ページを作成する: 2つの入力ボックスとボタン*コードと手順/* 1. 入力行と列の値を取得する2...

Vue+elementuiはドロップダウンテーブルの複数選択と検索機能を実現します

この記事では、ドロップダウンテーブルの複数選択と検索を実現するためのvue+elementuiの具体...

W3C チュートリアル (5): W3C XML アクティビティ

XML は、データを記述、保存、送信、交換するために設計されています。 XML 1.0 は XML ...

Linux lseek関数の使い方の詳しい説明

注:記事に誤りがある場合は、メッセージを残して指摘してください。ご協力ありがとうございます。名前名前...

CentOS7 64でのMySQL5.6.40の詳細なインストール手順

CentOS7 64でのMySQL5.6.40のインストール手順1) 以前にインストールしたMySQ...

Vue2とVue3のライフサイクルの比較の詳細な理解

目次サイクル比較使用法要約するサイクル比較ヴュー2ヴュー3作成前設定作成された設定マウント前マウント...

Centos7 esxi6.7 テンプレートの実際のアプリケーションの詳細な説明

1. Centos7.6システムを作成し、システムを最適化する1. NetworkManagerをオ...

Nginx tp3.2.3 404 問題の解決

最近、Apache を nginx に変更しました。TP プロジェクトを実行に移すと、404 エラー...

Windows 10 での MySQL 8.0.22 のインストールと設定方法のグラフィック チュートリアル

MySQL 8.0.22のインストールと設定方法のグラフィックチュートリアル、参考までに、具体的な内...