Javascript アクセシビリティ ページレイアウト
HTMLのページレイアウト
昔のスタイルである、 ページレイアウトは、 すでに過去のものに成りつつあります。 そして、有害に成りつつあります。 例えば、 ヘッダー、フッター、サイドバー、主要コンテンツの列などの、 ページレイアウトなどは、 スクリーンリーダーが、 混乱したリーディングをする可能性があります。 1つ目の例は次の様になります。
<header>
<h1>見出し</h1>
</header>
<!-- ここにナビゲーションが入ります。-->
<nav>
<ul>
<li><a href="#">ホーム</a></li>
<li><a href="#">我々の組織</a></li>
<li><a href="#">プロジェクト</a></li>
<li><a href="#">連絡</a></li>
</ul>
<form>
<input type="search" name="q" placeholder="検索">
<input type="submit" value="Go!">
</form>
</nav>
<!-- ここにメインコンテンツが入ります。-->
<main>
<!-- 記事入力-->
<article>
<h2>記事見出し</h2>
<p>段落1</p>
<h3>小区分1</h3>
<p>段落1</p>
<p>段落2</p>
<h3>小区分2</h3>
<p>段落1</p>
<p>段落2</p>
</article>
<!-- 関連記事 -->
<aside>
<h2>関連</h2>
<ul>
<li><a href="#">関連記事1</a></li>
<li><a href="#">関連記事2</a></li>
<li><a href="#">関連記事3</a></li>
</ul>
</aside>
</main>
<!-- フッタ-->
<footer>
<p>©Copyright 2050 by …. All rights reversed.</p>
</footer>
こういった、 モダンなスタイルにより、 スクリーンリーダーは混乱することなく、 コンテンツの読み上げることが出来るようになります。 div 要素だけを使うよりも、 header、nav、article、 aside、footer などを使って区切る方が優れています。
HTMLのUIコントロール
2つ目は、 ボタン、リンク、およびフォームコントロールなどの、 UIコントロールの例です。 ボタン、リンク、フォーム、ラベルは、 適切に使用する必要があります。 ボタンをdivで代替えするのは良くありません。 コントロールのテキストラベルを適切に使うのは、 ユーザーにとって非常に有益です。 フォーム入力欄に何を入力するか知る必要があるので、 フォーム・ラベルは重要になります。
<h1>リンク</h1> <p>これは <a href="...">リンク先1</a>へリンクしています。</p> <p>これは <a href="...">リンク先1</a>へリンクしています。</p> <h2>ボタン</h2> <p> <button data-message="button1">ボタン1をクリックしてください。</button> <button data-message="button2">ボタン2をクリックしてください。</button> <button data-message="Tbutton3">ボタン3をクリックしてください。</button> </p> <h2>フォーム</h2> <form> <div> <label for="name">名前を入力してください:</label> <input type="text" id="name" name="name"> </div> <div> <label for="age">年齢を入力してください:</label> <input type="text" id="age" name="age"> </div> <div> <label for="mood">健康状態を入力してください:</label> <select id="mood" name="mood"> <option>良好</option> <option>普通</option> <option>不調</option> </select> </div>
以上です。