本文へ移動
easeweb
ご相談
トピックを検索

スクリーンリーダーが読み上げ続けるカウントダウンタイマー

セールのカウントダウンが aria-live="assertive" の領域にあるため、スクリーンリーダーは1行読むたびに新しい時間を読み、または行を途中で切って時間を読み上げ、ページにはカウントダウンを止める手段もありません。

WCAG 2.2
SC 4.1.3AA· 2.1 で追加SC 2.2.2A
必須とする規格
Section 508 · EN 301 549(EU) · JIS X 8341-3
問題あり <p class="sale-banner" aria-live="assertive">
アクセシビリティの問題を示した図: 全盲:時計の読み上げを止めるには?
01

問題

1行ごとに新しい時間が読まれるか、時間が行を途中で切るため、スクリーンリーダーの利用者は商品ページを通して読めず、数字の動きで気が散る人にも止める手段がありません。

02

試してみる

スクリーンリーダーの利用者が下矢印キーを押すように「次の行を読む」を押し、セールのカウントダウン中に商品の説明を読んでください。

読み始めると時計が動き出します。下の欄に、JAWS、NVDA、ナレーターの読み方でスクリーンリーダーの読み上げが出て、ページでは読み終えた部分が色付きになります。各行のあとに何が読まれますか? VoiceOverの読み方に切り替えると行が途中で切れる様子も分かります。時計を止める方法も探してみてください。

問題あり 修正できますか?

問題急ぎ用のライブリージョンにあるカウントダウン
スクリーンリーダー(再現):

セール終了まで 02:14:09

リネンのティータオル

手織りのリネンのティータオル。洗いをかけてあり、最初から柔らかな手触りです。

幅の狭い織機で1枚ずつ織るため、端がほつれません。

40度で洗濯機洗いができ、干して乾かします。

1枚$18、セール中は3枚で$45です。

スクリーンリーダーの読み上げ:

(「次の行を読む」を押してください)

再現デモです。「問題あり」は意図的にアクセシブルでない状態にしています。

03

修正方法

終了時刻を示すか、カウントダウンを role="timer" で静かにし、止めるボタンを付けます。

  1. 1自動で変わる時計、スコア、カウンターを assertive のライブリージョンに入れない。
  2. 2自動で変わる文字には止めるボタンを付けるか、固定の時刻を示す。
  3. 3残り時間を伝えるのは、区切りのよい時点に一度だけ、ステータス領域で。
修正前 急ぎ用のライブリージョンにあるカウントダウン
<p class="sale-banner" aria-live="assertive">  セール終了まで <span id="sale-clock">02:14:09</span></p>
修正後

一度だけ書く終了時刻

<p class="sale-banner">  セールは <time id="sale-end" datetime="2026-10-31T23:59:00Z">10月31日 23:59</time> まで</p>

AI コーディングアシスタントで修正しますか? このガイドを Markdown で取得、または全ガイドをコーディングエージェントで使う。

04

デザインの案

セールの終わりの見せ方は一つではありません。

秋のセールがいつ終わるかの見せ方を、店の配色のまま、さらに5つ紹介します。3つは時を刻まずに伝え、2つは自動で変わり続けるのに、そばに止める手段がありません。

デザインファイルで

  • カウントダウンを置きたい場所には、セールが終わる日付と時刻を書く。
  • 刻むカウントダウンを残すなら、その前に「カウントダウンを止める」ボタンを描き、押したあとのバナーも、時計の代わりに終了時刻を入れて描く。
  • カウントダウンには、変わるたびには読み上げないと書き添える。スクリーンリーダーは、利用者がそこまで来たときに一度読む。

合格

  • 終了時刻のピル カレンダーのアイコンと日付・曜日・時刻を入れた柔らかなピルです。読み込み後は何も変わらないため、止めるものがなく、スクリーンリーダーもほかの行と同じように一度読むだけです。
  • 残り日数のバー 「残り2日」と、セールの経過を示す細いバーです。ページを読み込んだときに一度決まり、開いている間は動きません。数は文字が伝えるため、バーにライブリージョンは要りません。
  • 最終日のリボン 最終日にだけ現れ、終了時刻も入ったリボンです。切迫感は時計ではなく「最終日」という言葉から生まれ、変わるのは多くても1日に1回、ページを読み込んだときだけです。

不合格

05

修正の確認

マウスを使わない4つの確認

確認方法: スクリーンリーダー、キーボード

4件中0件を確認済み

OS、ブラウザーと支援技術のバージョン、ビルド、実施日、各手順の実際の結果を記録してください。バナー、そのスクリプト、セールのコンポーネントを変更した際は、再度確認します。

制限

ライブリージョンの動きは、スクリーンリーダーやブラウザーによって、またバージョンによっても異なります。このガイドの記述は、2026年時点の各リリースでの動きです。Understanding 4.1.3も、利用者の設定によっては、支援技術がステータスメッセージを遅らせたり、抑えたり、形を変えたりすることがあると述べています。このガイドは、一つのページで、ほかの内容と並ぶカウントダウンを扱っています。オークションの時計のように、更新が活動に欠かせないかどうかはチームの判断で、その場合2.2.2は止める手段を求めません。それでも、時計が毎秒読み上げる必要はありません。利用者が使うスクリーンリーダーで確認してください。

よくある問題を再現した学習用のサンプルです。実在のクライアントの診断結果ではありません。コードは出発点となる実装例のため、実際の製品でも確認してください。ここでは支援技術でのテスト結果は報告していません。

コードを更新しても、使いやすさを保つために

ガイドの内容を、コーディングエージェントやCIで使える開発ルールにまとめます。更新後は、キーボードとスクリーンリーダーで再テストし、問題が再発していないか確認します。

再テストの進め方