ヘッダーメニューやセクションタイトルなどで『ABOUT』『NEWS』『CONTACT』などよくあると思います。
しかしアクセシビリティを考慮してコーディングする場合、HTMLにそのまま全部大文字で書くのはよろしくないので、今回はその対処方法を解説します。
- 完全無料
- 30日間でWeb制作を学べる
- 現役エンジニアへの質問無制限
- オンラインの動画学習なので時間場所を問わず勉強可能
- 最大4回の学習サポート面談
- 毎日人数制限ありの先着制
(有料になっていたらすいません🙇♂️)
HTMLで英語を全部大文字で書くのが良くない理由
例えば以下のような書き方をするとします。
<h2>NEWS</h2>
すると、音声読み上げソフトで正しく発音されません。
音声読み上げソフトとは?
例えば『NEWS』の場合は『ニュース』ではなく『エヌイーダブリュエス』と読んでしまいます。
それではどうすればいいかと言うと、HTMLでは『News』と書き、CSSで全部大文字にします。
するとブラウザでの見た目は『NEWS』と全部大文字ですが、音声読み上げソフトではちゃんと『ニュース』と読み上げてくれます。
この後いろいろ解説しますが、小文字を全部大文字にする場合はtext-transform: uppercase;
を書けばOKです。
CSSでアルファベット(英語)を大文字・小文字表示にする方法
全てのテキストを大文字にするにはtext-transform
を使います。
これは大文字にするだけではありません。
none(初期値) | 全ての文字を変換しない(そのまま) |
capitalize | 単語の先頭を大文字に変換 |
uppercase | 全ての文字を大文字に変換 |
lowercase | 全ての文字を小文字に変換 |
1つずつサンプルで見てみましょう。
今回は『JUNPEI blog』というテキストを変換してみます。
ちなみに何も書かなければ初期値のnoneになるので『JUNPEI blog』のままです。
単語の先頭を大文字に変換(capitalize)
単語の先頭を大文字にするにはこのように書きます。
h1 {
text-transform: capitalize;
}
See the Pen
単語の先頭だけ大文字 by junpei (@junpei-sugiyama)
on CodePen.
元から大文字のところは変わらず、全部小文字の単語『blog』の先頭だけ大文字になりました。
全ての文字を大文字に変換(uppercase)
全ての文字を大文字に変換するにはこのように書きます。
h1 {
text-transform: uppercase;
}
See the Pen
全ての文字を大文字に変換 by junpei (@junpei-sugiyama)
on CodePen.
今度は小文字が全て大文字になりました。
これが今回アクセシビリティを考慮した書き方になります。
全ての文字を小文字に変換(lowercase)
全ての文字を小文字に変換するにはこのように書きます。
h1 {
text-transform: lowercase;
}
See the Pen
Untitled by junpei (@junpei-sugiyama)
on CodePen.
まとめ
今回はアルファベット(英語)を大文字・小文字表示にする方法を解説してきました。
ちょっと面倒かもしれませんが、アクセシビリティを考慮した書き方を覚えておくとワンランクレベルアップするかと思います。
以上になります。