カテゴリ: React 更新日: 2026/02/01

Reactのリストとキーをやさしく解説!リストレンダリングでアクセシビリティを意識する方法

リストレンダリングでアクセシビリティを意識する方法
リストレンダリングでアクセシビリティを意識する方法

先生と生徒の会話形式で理解しよう

生徒

「Reactでリスト表示はできるようになったんですが、アクセシビリティって何ですか?」

先生

「アクセシビリティは、誰でも使いやすい画面を作るための考え方です」

生徒

「目が見えにくい人とかも関係ありますか?」

先生

「はい。リスト表示でも意識すると、より多くの人にやさしい画面になります」

1. アクセシビリティとは何か

1. アクセシビリティとは何か
1. アクセシビリティとは何か

アクセシビリティとは、 年齢や体の状態に関係なく、 誰でも使いやすいように 工夫する考え方です。

たとえば、 文字を音声で読み上げる機械や、 キーボードだけで操作する人にも 情報が正しく伝わることが 大切になります。

Reactのリスト表示でも、 アクセシビリティを意識すると 見えない部分の使いやすさが 大きく向上します。

2. 正しいHTML要素でリストを作る

2. 正しいHTML要素でリストを作る
2. 正しいHTML要素でリストを作る

リストを表示するときは、 見た目だけでなく、 意味を持ったHTMLを 使うことが重要です。

項目が並ぶ場合は、 ulやolとliを使うことで、 機械にも これはリストだと 正しく伝わります。


function App() {
  const items = ["りんご", "みかん", "ばなな"];

  return (
    <ul>
      {items.map(item => (
        <li key={item}>{item}</li>
      ))}
    </ul>
  );
}
(果物の名前がリストとして表示されます)

3. keyはアクセシビリティにも関係する

3. keyはアクセシビリティにも関係する
3. keyはアクセシビリティにも関係する

keyは、 Reactがリストの中身を 正しく管理するための 目印です。

画面を読み上げる機械も、 要素の並びが 安定していることで、 正しい順番で 読み上げられます。

重複しない、 分かりやすいkeyを 設定することが 大切です。

4. ボタン付きリストで操作しやすくする

4. ボタン付きリストで操作しやすくする
4. ボタン付きリストで操作しやすくする

リストの中に 操作がある場合は、 必ずbuttonを使います。

divをクリックできるようにするより、 buttonを使う方が、 キーボード操作や 読み上げに対応できます。


function App() {
  const tasks = ["掃除", "洗濯", "買い物"];

  return (
    <ul>
      {tasks.map(task => (
        <li key={task}>
          {task}
          <button>完了</button>
        </li>
      ))}
    </ul>
  );
}
(各項目の横に完了ボタンが表示されます)

5. 読み上げを意識したテキストを書く

5. 読み上げを意識したテキストを書く
5. 読み上げを意識したテキストを書く

画面に表示される文字は、 そのまま 音声で読み上げられます。

記号だけの表示や、 意味が分かりにくい言葉は 避けた方が良いです。

誰が聞いても 内容が分かる表現を 心がけます。

6. aria属性で補足情報を伝える

6. aria属性で補足情報を伝える
6. aria属性で補足情報を伝える

ariaは、 画面を読み上げる機械に 補足説明を伝えるための 仕組みです。

見た目では分かるけれど、 言葉が足りない部分を 補うことができます。


function App() {
  const messages = ["新着メッセージ", "未読メッセージ"];

  return (
    <ul aria-label="メッセージ一覧">
      {messages.map(message => (
        <li key={message}>{message}</li>
      ))}
    </ul>
  );
}
(読み上げ時にリストの内容が分かりやすくなります)

7. キーボード操作を想像してみる

7. キーボード操作を想像してみる
7. キーボード操作を想像してみる

マウスを使えない人は、 キーボードだけで 操作します。

リストの中の要素が 順番に移動できるかを 想像して作ることが 大切です。

buttonやaタグを 正しく使うことで、 自然な操作が できるようになります。

8. 見た目と意味を分けて考える

8. 見た目と意味を分けて考える
8. 見た目と意味を分けて考える

見た目が リストに見えても、 意味が伝わらなければ アクセシビリティは 高くなりません。

正しいタグと、 分かりやすい文章を 組み合わせることが 大切です。

9. リストレンダリングは思いやりの第一歩

9. リストレンダリングは思いやりの第一歩
9. リストレンダリングは思いやりの第一歩

リスト表示は、 よく使われる機能だからこそ、 アクセシビリティを 意識しやすい部分です。

誰かが困らずに 情報を受け取れる画面を 想像しながら作ることで、 Reactのコードも より良いものになります。

カテゴリの一覧へ
新着記事
New1
React
ReactのState更新方法を完全ガイド!初心者でもわかるsetStateとuseStateの使い方
New2
React
JSXとJavaScript式の組み合わせ方を完全解説!初心者でもわかる中括弧の使い方
New3
React
ReactのContext.Providerでデータを渡す仕組みを完全解説!初心者でもわかるProviderの使い方
New4
React
ReactのState更新が非同期で行われる理由と注意点をやさしく解説!初心者でもわかるStateの扱い方
人気記事
No.1
Java&Spring記事人気No1
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.2
Java&Spring記事人気No2
React
Reactでフォーカスイベントを制御する方法!onFocusとonBlurを初心者向けに解説
No.3
Java&Spring記事人気No3
React
ReactのJSXとJavaScriptの違いを完全ガイド!初心者でもわかるReactのJSX入門
No.4
Java&Spring記事人気No4
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.5
Java&Spring記事人気No5
React
コンポーネントの作り方!基本的な書き方と使い方をReact初心者向けに解説
No.6
Java&Spring記事人気No6
React
Reactでキーボードイベントを活用する方法!onKeyDown, onKeyUp, onKeyPressを初心者向けに解説
No.7
Java&Spring記事人気No7
Next.js
Next.jsのRoute Groupの使い方を完全ガイド!App Routerでフォルダ構成を整理する方法
No.8
Java&Spring記事人気No8
React
Reactはフレームワーク?ライブラリ?Reactの正しい位置づけと役割を初心者向けに解説!