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

取り消し線だけで示す元の価格と削除した語

ショップのセール表示で、元の価格の取り消し線をCSSで引いているため、スクリーンリーダーは「40ドル、28ドル」と読み、どちらの価格で買えるのかが伝わりません。

WCAG 2.2
SC 1.3.1A
必須とする規格
Section 508 · EN 301 549(EU) · JIS X 8341-3
問題あり text-decoration: line-through;
アクセシビリティの問題を示した図: 全盲:どっちが今の価格?
01

問題

スクリーンリーダーや読み上げツールを使う人には、一つの商品に価格が二つ聞こえ、どちらを支払うのかが分からない

02

試してみる

トートはどちらの価格で買えますか?スクリーンリーダーの読み上げを見てから、スタイルを無効にしてみましょう

40ドルの取り消し線はCSSで描いたものです。線のほかに、元の価格だと伝えるものはありますか?

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

問題CSSで元の価格に取り消し線を引く
  • リネンのトート

    40ドル 28ドル

  • ホーローのマグ

    18ドル

一覧を読むと、スクリーンリーダーの読み上げ:

  1. リネンのトート、40ドル、28ドル
  2. ホーローのマグ、18ドル

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

03

修正方法

線が伝える意味を、通常価格とセール価格という言葉にする。表示しても、視覚的に隠してもかまわない

  1. 1取り消し線、色、太さだけで、テキストの意味を伝えない。
  2. 2どちらが元の価格で、どちらが今の価格かを、読み上げられる言葉で伝える。
  3. 3元の価格にはs、編集にはdelとinsを使う。言葉の代わりではなく、言葉に加えて使う。
修正前 CSSで元の価格に取り消し線を引く
<li class="product">  <img src="linen-tote.jpg" alt="">  <h3>リネンのトート</h3>  <p class="price">    <span class="old">40ドル</span>    <span class="now">28ドル</span>  </p></li>
修正後

通常価格とセール価格をページに書く

<li class="product">  <img src="linen-tote.jpg" alt="">  <h3>リネンのトート</h3>  <p class="price">    通常価格 <span class="old">40ドル</span>    セール価格 <span class="now">28ドル</span>  </p></li>

04

デザインの案

セールは、すっきり見せたまま、正しく読み上げさせられる

元の価格や編集の見せ方をさらに4通りと、流行りだが不合格の2通りを示します。それぞれの説明に、スクリーンリーダーが何と読むかを書いています。

デザインファイルで

  • 元の価格にはすべて、「通常価格」「定価」「Was」などの言葉を添える。表示できないときは、隠したテキストで作るようファイルに書いておく。
  • 元の価格は背景に対して4.5:1以上にし、その灰色の横に比を書く。
  • 編集では、削除した語に取り消し線、追加した語に下線を引き、スクリーンリーダー向けに両方を言葉でも示す。
  • 価格のまとまりは、言葉ごと一つのコンポーネントとして描き、どのカードでも同じ言い方にする。

合格

不合格

  • 斜線で消した元の価格WCAG 1.3.1 CSSで描く斜めの線は取り消し線より目を引きますが、装飾であることは同じです。「40ドル、28ドル」と読まれ、どちらが元の価格かは伝わりません。
  • 返品ポリシー 提案モード

    商品到着から14 30日以内なら、どの商品も全額返金で返品できます。

    色だけで示す編集の提案WCAG 1.3.1 線も下線も言葉もなく、薄い赤と緑の背景だけで示します。編集は「14 30 日以内」と読まれ、線がないため、赤と緑を見分けにくい人にも分かりません。
05

修正の確認

3項目、マウス不要

確認方法: スクリーンリーダー、スタイルを無効化

3件中0件を確認済み

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

制限

このサンプルは、どのページでも同じ結果になることを保証するものではありません。例は元の価格ですが、検索結果の一致を示すマーカー、一つだけ大事な語を示す太字、問題を示す赤い文字など、見た目が意味を持つほかのテキストも同じです。言葉でも伝えてください。字下げのためだけにblockquoteを使い、引用ではないのに引用として読み上げられる状態は、同じ基準の別の失敗(F43)で、ここでは扱いません。商品一覧、商品ページ、かごを、利用者が使う支援技術や道具で確認してください。

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

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

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

再テストの進め方