# アクセシビリティしたい(a11y)
```html
```
アクセシビリティとは、目や耳、手の動きなどに制約がある人を含め、
できるだけ多くの人がウェブサイトを使えるようにすることです。
英語の"accessibility"は`a`と`y`のあいだに11文字あるので「a11y」と略します。
基本は「意味に合ったHTMLタグを正しく使う」ことです。
特別なことをしなくても、`button`や`nav`、見出しタグを適切に使うだけで、
スクリーンリーダーやキーボード操作にかなり対応できます。
## 画像に代替テキストしたい(`alt`)
```html
```
`img`タグには必ず`alt`属性を付けます。
`alt`は、画像が表示できないときや、スクリーンリーダーで読み上げるときに使われるテキストです。
画像が内容を伝えているなら、その内容を文章で書きます。
飾りだけの画像なら`alt=""`と空にして、読み上げの対象から外します。
`alt`属性そのものを書かないのは避けます。
書かないと、スクリーンリーダーがファイル名をそのまま読み上げてしまうことがあります。
## ボタンとリンクを使い分けたい
```html
登録ページへ
```
「別のページに移動する」なら`a`タグ、「その場で何かを実行する」なら`button`タグを使います。
`div`や`span`に`onclick`を付けてボタン代わりにするのは避けます。
`button`タグなら、キーボードのTabキーで選べて、EnterやSpaceで実行でき、
スクリーンリーダーも「ボタン」と読み上げます。
`div`だとこれらを全部自分で用意しなければなりません。
## 見出しで構造を示したい
```html