VoiceOver のスポイラーの問題

Spoiler blur not compatible with screen readers からの議論の続きです。

VoiceOver ユーザーから、新しいスポイラーコードが機能しないという報告を受けました。

フォーラムの更新されたスポイラー機能で、他のスクリーンリーダーユーザーの皆さんも何か問題に遭遇していませんか? 更新があったと仮定しています。以前は、スポイラーテキストは何も隠されていることを示す兆候なしに通常通り読み上げられていましたが、もちろんそれは理想的ではありませんでした。更新により、コンテンツが「隠されたコンテンツを表示」というラベルの付いた折りたたみ可能な領域の後ろに置かれることでこの問題が修正されたようですが、何らかの理由で、展開/表示ボタンを押してもテキストが取得されません。参考までに、私は VoiceOver、Apple のネイティブ スクリーンリーダーを使用しており、iOS と Mac OS の両方でこの問題に気づきました。

「いいね!」 3

他の人も同様の発言をしています。

NVDA を Windows で使用している際に、私も同じ問題が発生しました。

そして3人目の人も同意しました。

申し訳ありませんが、現在のコードは適切に機能していないようです!おそらく、古いコードにロールバックした方が良いでしょう。

「いいね!」 1

@Dannii さん、この問題を特定していただきありがとうございます。修正をプッシュしました。fixにより、スクリーンリーダーがスポイラーをトグルしたときにその内容を読み上げるように動作が改善されるはずです。

「いいね!」 4

フォーラムをアップグレードしましたが、スクリーンリーダーユーザーからは何も変わらないと報告されています。

「いいね!」 1

プラグインは最新バージョンにアップグレードされていますか? (コミット 0ee68da)

VoiceOver を使用した Meta では、ここで動作しているようです。また、aria-livepolite として使用しています。これは、スクリーンリーダーがあまり積極的でなく、邪魔にならないことを意味します。代わりに、ユーザーがアイドル状態になるのを待ってからコンテンツを読み上げます。

これをテストすると読み上げられます

「いいね!」 1

はい、スポイラープラグインは 0ee68da1 です。

「いいね!」 1

Keeganさん、このテストについてもう少し詳しく教えていただけますか?スクリーンショットはデスクトップブラウザのように見えますが、macOSのVoiceOverを使用していますか?(どのブラウザで?)

macOSのVoiceOverはiOSのVoiceOverとは全く異なる製品です。macOSのVoiceOverには、iOSのVoiceOverには現れないバグがよくありますが、その逆も同様です。(様々な理由から、視覚障碍のあるユーザーの間では、iOSのVoiceOverの方がmacOSのVoiceOverよりもはるかに人気があります。)

先ほど、iOS Safari 16.3.1であなたの投稿 https://meta.discourse.org/t/spoiler-issues-with-voiceover/257450/8?u=dfabulich をテストしようとしましたが、次のような結果になりました。

以下はトランスクリプトです。

  • 動画は、動画にフォーカスがある状態で始まります。その後、右にスワイプして、ぼやけたネタバレテキストにフォーカスします。
  • VoiceOverが「隠しコンテンツを表示。ボタン。折りたたまれています。ダブルタップして展開。」とアナウンスします。
  • ダブルタップします。ネタバレテキストが視覚的にぼかし解除されます。
  • VoiceOverが「コンテンツを隠す。展開済み。コンテンツを隠す。」とアナウンスします。これはDiscourseのバグだと主張します。keeganさんの動画のように、テキストコンテンツを読み上げるべきでした。
  • 右にスワイプして、次のUIコントロールに移動します。
  • VoiceOverが「この投稿に1人が「いいね!」しました。クリックして表示。トグルボタン。」とアナウンスします。
  • 左にスワイプして、ぼかし解除されたネタバレテキストに戻ります。
  • VoiceOverが「コンテンツを隠す。ボタン。展開済み。ダブルタップして折りたたむ。」とアナウンスします。
  • その後、同じ動作が発生するかどうかを確認するために、右と左にスワイプしますが、やはり同じ動作が発生します。

intfiction.orgフォーラムのユーザーから、NVDAでもネタバレのぼかしが壊れているという報告を受けていますが、これもあなたの側でテストする価値があるかもしれません。

「いいね!」 2

dfabulichさん、詳細を共有していただきありがとうございます。はい、主にChrome(macOSのVoiceOverとWindows 11のナレーター)でテストしていました。

iOS、NVDA、その他の主要なデバイスの問題を解決できる修正を間もなくリリースできるよう、さらに調査/テストを行います。

ありがとうございます!

「いいね!」 3

それらのどちらも一般的なスクリーンリーダーではなく、テストの主なプラットフォームとすべきではありません。

WebAIMのスクリーンリーダーユーザーに関する主要な業界調査を以下に示します。

https://webaim.org/projects/screenreadersurvey9/ (この調査は数年に一度実施されており、これは2021年のものです)

この調査を注意深く読む必要があります。まずデスクトップブラウザについて言及しており、「プライマリスクリーンリーダー」というグラフがありますが、これは specifically 「デスクトップ/ラップトップ」スクリーンリーダーを指しています。 https://webaim.org/projects/screenreadersurvey9/#primary

そのグラフは「VoiceOver」があまり人気がないことを示していますが、そのセクションではmacOS VoiceOverを指しています。(「オペレーティングシステム」セクションまでスクロールすると、macOS自体がスクリーンリーダーユーザーの間であまり人気がないことがわかります。)

Windows用のJAWSが主要なスクリーンリーダーであり、次にWindows用のNVDAが続きます。macOS VoiceOverは遠く及ばない3位です。Windows Narratorの使用率は0.5%です!

JAWSは有料であり(ライセンス体系が煩雑です)、NVDAは無料であることに注意してください。しかし、NVDAはJAWSよりもバグが多い傾向があります。私の経験では、NVDAで動作するものはすべてJAWSでも動作します。

その後、「モバイルスクリーンリーダーの使用状況」について言及しています。 https://webaim.org/projects/screenreadersurvey9/#mobilescreenreaders

そのグラフは、OS組み込みのスクリーンリーダーが支配的であり、iOS VoiceOver(71.5%)とAndroid TalkBack(29.1%)であることを示しています。(一部のユーザーは両方を使用しているため、合計は100%を超えます。)

この調査で欠けているのは、「モバイルでの時間 vs デスクトップでの時間」の調査ですが、私の経験では、スクリーンリーダーユーザーから寄せられるバグレポートの大多数はiOSユーザーとNVDAユーザーからのものです。

したがって、次の優先順位でテストすることをお勧めします。

  1. iOS Safari VoiceOver。モバイルをデスクトップよりも推奨します(データはありませんが、視覚障害のあるユーザーの間ではモバイルが圧倒的に人気があると主張します)し、iOSをAndroidよりも推奨します。なぜなら、視覚障害のあるユーザーの間ではiOSがAndroidよりも圧倒的に人気があるからです。
  2. Chrome上のWindows NVDA。NVDAはJAWSほど人気はありませんが、バグが多いです。NVDAで動作するものはすべてJAWSでも動作しますが、その逆は必ずしも当てはまりません。
  3. Chrome上のWindows JAWS。
  4. Chrome上のAndroid TalkBack。
  5. Safari上のmacOS VoiceOver。

しかし、iOS Safari VoiceOverでのテストだけで非常に費用対効果が高いことがわかるでしょう。通常はiOS Safariのみをテストし、次に徹底的にテストしたい場合はChrome上のWindows NVDAをテストし、その後は通常停止します。

Windows JAWSでは発生するがWindows NVDAでは発生しないバグをユーザーが報告するのを見たのは、少なくとも5年前のことです。Android TalkBackでバグを報告するユーザーを見たことは一度もないと思います。

「いいね!」 4

この件について、何か進展はありましたか?

aria-live は切り替えるものではありません。最初に polite に設定し、そのままにしておくべきです。現在の実装では、aria-live がオンの間は変更が発生しないため、変更が認識されることはありません。

「いいね!」 1

問題は(NVDA/Windowsで) aria-label を持つ外側の div があることです。ほとんどのスクリーンリーダーでは、これはコンテンツの注釈ではなく、アクセス不能なコンテンツの代替となるものです。少なくとも、私には aria-label しか読み取られません。

ここに、このスレッドのスポイラーの録音があります。動画の下部にあるタイムスクラバーを読み取り、次に空白(何かわかりません)、次に表示されているスポイラー(「ボタン展開コンテンツを非表示」)、そして「2件の返信」ドロップダウンを読み取ります。

NVDA のデバッグ機能を使用して、展開されたテキストにマウスオーバーして読み取ると、読み取られることに注意してください。しかし、マウスを使用せずにテキストを読み取る方法は見つかっていません。したがって、実際にアクセス可能かどうかをテストする有効な方法ではないようです。

「いいね!」 2

アクセシビリティの改善を行うPRを作成しました。

「いいね!」 3

PRをありがとうございます、@Dannii :slight_smile:

レビューしてコメントを追加しました。ごくわずかな点ですが、それ以外は問題なさそうです!

「いいね!」 1

@Danniiさん、ありがとうございます。プルリクエストがマージされました :slight_smile: この問題はこれで解決するはずです。

「いいね!」 2