コードの互換性を高めるために、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 つの記事だけで記述できるものではありません。ゆっくりしてください。最も一般的なものから始めて、良い習慣を身につけましょう。記事の前の文章に戻りますが、ページをこんなに使いにくくすることに耐えられるでしょうか?

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

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

推薦する

Javascript で関数のカリー化とデカリー化を実装する方法

関数のカリー化(黒い疑問符の顔)? ? ?カレー(黒い疑問符の顔)? ? ?これは完璧な中国語翻訳で...

MySQLグループクエリ最適化方法

MySQL はほとんどの場合、GROUP BY クエリと DISTINCT クエリを同様に処理します...

Vue を通じて QR コードスキャン機能を実装する

ヒントこのプラグインは https プロトコルでのみアクセスできます。http プロトコルはうまく機...

フォームアクションとonSubmitの例

まず、action はフォームの属性です。HTML5 では必須の属性値として定義されています。onS...

WHMCS V7.4.2 グラフィカル インストール チュートリアル

1. はじめにWHMCS は、ユーザー管理、請求書の支払い、ヘルプ サービスなど、オンライン ビジネ...

Vueアイコンセレクターのサンプルコード

出典: http://www.ruoyi.vip/ 'vue' から Vue をイン...

よく使われるHTMLタグのインライン要素とブロックレベル要素の詳細な説明

ブロック要素HTMLタグ分類の詳細* 住所 - 住所* blockquote - ブロック引用* c...

ffmpeg コマンドラインを使用してビデオを変換するためのサンプルコード

この記事の本文を始める前に、まず ffmpeg プログラムをインストールする必要があります (Lin...

Vue マルチページ構成の詳細

目次1. 複数ページの違い2. SPAとMPA 3. Vue Cli スキャフォールディング構成1....

Apache での ModSecurity のインストール、有効化、および構成

ModSecurity は、Web サーバーに入るすべてのパケットをチェックする強力なパケット フィ...

Tomcat でサーブレット URL パターンを構成する際の問題の詳細な説明

tomcat の web.xml を構成する場合、サーブレットは比較的重要な問題です。ここでは、サー...

Win10 DVWA のダウンロード、インストール、構成のグラフィック チュートリアルの詳細な説明 (初心者向け学習侵入)

コンピュータ システムが再インストールされ、侵入テスト学習環境 DVWA を再インストールする必要が...

JavaScript 関数をよりエレガントにする方法

目次分割代入を使用したオブジェクトパラメータコールバック関数の命名条件文を説明的にするスイッチ文をM...

Vue2.x および Vue3.x のカスタム命令の使用方法とフック関数の原理を理解する

目次Vue2.x の使用法グローバル登録部分登録使用フック機能フック関数のパラメータVue3.x の...

純粋なCSSでデジタルプラスとマイナスボタンを実装するための最適なソリューション

序文:デジタル加算ボタンと減算ボタンの実装には、次のような多くのソリューションがこれまでに使用されて...