HTML
📄 lang属性の未設定
html要素にlang属性がない
😰 こんな症状
Lighthouseで「html element does not have a [lang] attribute」と出る。アクセシビリティ対応で見落としやすいポイントだよ。
🔍 原因
htmlタグにlang属性が設定されていないよ。スクリーンリーダーはlang属性を見てページの言語を判定し、適切な音声エンジンで読み上げるんだ。lang属性がないと、英語の音声エンジンで日本語を読み上げようとして正しく発音できないよ。
❌ エラーが起きるコード
<html><head>...</head></html>
<!-- lang なし --> ✅ 直し方
1. <html lang="ja">のように言語コードを設定する。 2. 日本語ページなら"ja"、英語なら"en"を指定する。 3. 多言語ページは部分的にlang属性を追加する(<span lang="en">Hello</span>)。
✅ 修正後のコード
<html lang="ja"><head>...</head></html> この解決法は役立ちましたか?
🔗 関連するエラー
- imgのalt属性エラー — alt属性が書かれていない
- セマンティックHTMLでアクセシビリティ警告 — 見出しの階層が飛んでいる
- tabindex の順序が期待通りにならない — tabindexの順序が期待通りにならない
- 画像が表示されない — 画像パスが間違っている
- ページのレイアウトが崩れる — タグの閉じ忘れ
🔗 別カテゴリの関連エラー
📖 この問題を学べるレッスン
📝 関連ブログ記事
- プログラミングのエラーメッセージの読み方 — エラーの読み方を基礎から解説
- HTMLとは?初心者向けにわかりやすく解説 — タグの書き方・ページ構造の基本
- HTMLのパス(相対パス・絶対パス)の書き方 — パスの書き方を初心者向けに解説