スクリーンリーダーでのDiscourse

これは私のWindowsマシンでは非常に一貫した動作なので奇妙です。
現在、Chrome Canary Google Chrome バージョン 111.0.5536.0 でテストしました。
以下をお試しください。
以下にアクセスします。
https://meta.discourse.org/
トピックのリストでトピックを見つけます。
Does Discourse offer anything similar to WordPress custom taxonomy?

その行の最後の列に移動します。
「Currently this reads 3t in my Danish setup.」というテキストが表示されます。
Enterキーを押すと、そのトピックの最後の返信にフォーカスが移動するはずですが、そうはなりません。
Enterキーを押しても何も起こりません。ページが更新されないため、スクリーンリーダーは何も行いません。
しかし、私が読んでいる行は、スレッドで最後に投稿されたトピックの見出しではなく、ページの最初の行のままです。

NVDAはフォーカスを少し移動させるようですが、トピック自体にさえ移動しません。両方のスクリーンリーダーは、この問題について投稿した頃まで期待どおりに機能していました。
Firefox Firefox Nightly バージョン 110.0a1 に変更します。
上記の例では、3t を押すと最新の投稿に移動し、フォーカスが期待どおりに配置されるため、これは期待どおりに機能します。

「いいね!」 4

これは後退したようです。

具体的には、しばらくの間、私が使用した多くのセルフホスト型インスタンスで機能していましたが、貴社が私の雇用主のためにホストしているサイトで失敗しています。特に、https://community.fly.io と、上記から URL を簡単に特定できると思われる社内ホストの discourse.team フォーラムです。どちらも同じバージョンの Discourse を使用しているようです。

Discourse で多くの作業を行っているため、これは確かに困難です。目の不自由な従業員として、社内での議論でも、コミュニティメンバーとのサポート会話でも、常に自分の場所を見失っています。以前に読んだ投稿に戻るには、以前の場所を見つけるのに 20 ~ 30 秒かかります。

昔の 14400 ボーのモデム時代を思い出します。:slight_smile:

ご協力ありがとうございます。

「いいね!」 2

申し訳ありません、騒がせてしまって。少し調べてみたのですが、これはFirefoxでは動作しますが、Chromeでは動作しません。Flyは仕事でChromeの使用を義務付けているため、Firefoxを使用している他の場所ではなく、そこで問題が発生しました。

それが思ったほど大きな後退ではないのは嬉しいですが、Chromeでも動作するようになると良いですね。NVDAを使用しており、拡張機能がインストールされていないChromeを使用しています。

「いいね!」 4

ノーランさん、こんにちは!:wave:

Chromeで動作しないとのこと、申し訳ありません。このトピックはかなり長いため、リグレッションの具体的な内容を詳しく教えていただけますか?トピックを読み込む際に、元の場所に戻らないように聞こえますが、問題に対処していることを確認したいと思います。

お知らせください。:slight_smile:

「いいね!」 3

はい、その通りです。Firefoxでトピックをクリックすると、最後に読んだ位置にフォーカスがうまく、そして確実に返ってきます。Chromeではそうなりません。

ありがとうございます。

「いいね!」 2

こんにちは。

私が投稿したときは再現できなかったので、他の人も同じ問題を見つけているのは良いことです。私は他の理由でFirefoxの使用をやめましたが、この動作には慣れることができました。しかし、期待される動作に変更されると非常に嬉しいです。

クラウス

「いいね!」 1

ご確認ありがとうございます、@nolan@thoeg さん。:+1:

チームで確認中です。以前はこの問題を再現するのに苦労していましたが、これでChromeに絞って調査できます。

こちらでアップデートします。:slight_smile:

「いいね!」 2

すごい。Discourse のコア開発者コミュニティの応答性の高さに完全に圧倒されました!

一部の人には些細なことかもしれませんが、本当に、皆さんの人間性を称賛したいと思います!!!

これこそ、私がオープンソースと協力精神を愛する理由です!!!

「いいね!」 4

スレッド内の特定のトピックにフォーカスする問題を確認していましたが、現在は機能するようですが、常にそうとは限りません。その後、途中で発生したと思われるリグレッションを思い出しました。
トピック内の各投稿の後には、いくつかのボタンがありますが、
たとえば、「いいね」ボタンは、単にそれをいいねするオプションを提供するのではなく、「この投稿をいいねしました」と表示されます。
次に、「投稿XXに返信」がありますが、このテキストは翻訳されていません。つまり、文字列の返信部分はデンマーク語の翻訳では「返信」となっており、関連する問題が2つあります。
クラウス

Nolan様、返信が遅くなり申し訳ありません。Assistiv Labsというオンラインサービス経由でNVDAを使用してテストしたところ、FirefoxとChromeの両方で問題なく動作しました。キーボードショートカットで戻る操作をした際、以前開いていた記事にフォーカスが当たっていることが確認できました。

テスト環境はChrome 115、NVDA 2023.1です。

問題が確実に発生する特定の操作手順はありますでしょうか?

Chrome と Edge で毎回問題が発生する箇所を以下に示します。

開く:
https://meta.discourse.org/tag/accessibility

テーブルに移動すると、最初のトピックはこのトピックになります。
最後の列にフォーカスを移動します。そこには次のように表示されます。
3D
これをアクティブにすると、そのスレッドの最後のトピックにフォーカスが移動するはずです。
問題は、Chrome と Edge ではそうなりませんが、Firefox ではそうなることです。

「いいね!」 1

@thoeg ボタンのテキストは、次を使用してカスタマイズできると思います。

こんにちは。

しかし、ユーザーとしてはそうではなく、テキストは誤解を招き、複数のサイトに表示されるため、これは別のアクセシビリティの問題です。

しかし、あなたが経験している問題を解決するために、あなたがユーザーであるDiscourseフォーラムの管理者は、あなたのフォーラムでそれらのボタンのテキストを変更することができます。彼らに連絡することができます。

したがって、これはDiscourseソフトウェアの問題ではありません。

しかし、ボタンのテキスト(すべて同じであること)が少し紛らわしいというあなたの考えには同意します。特に具体的な改善や解決策を提案できる場合は、この問題を新しいトピックとして開始することを検討できますか?

こんにちは!

どのスクリーンリーダーを使用していますか?この機能には慣れていませんが、もう少し詳しく知って、この問題を確認したいと思います :slight_smile:

クラウス、ありがとうございます。再現できました!動作を示すビデオを以下に示します(0:09で、最後の投稿に破線の青い境界線が表示されるはずですが、機能していません)。

また、Firefoxを含むすべてのブラウザで2番目の問題に気づきました。同じ手順を実行しても、最後の投稿が小さい投稿(閉じられたトピック、自動バンプ、割り当てなど)であるトピックにたどり着いた場合も、フォーカスが最後の投稿に正しく設定されません。

すぐに調査します。

「いいね!」 3

上記2点について、修正をマージしました @nolan @thoeg。参考までに、PRはこちらです: A11Y: Fix selecting topic when navigation via keyboard by pmusaraj · Pull Request #22996 · discourse/discourse · GitHub (これは約1時間後にmetaに反映され、他のサイトには今週後半に反映される予定です)。

「いいね!」 1

おっしゃる通り、この修正がしばらく前にリリースされたとしても、私の問題は解決していません。本日、ChromeとEdgeで、JawsとNVDAの両方を使用してテストしました。スクリーンリーダーによってフォーカスが移動する場所は異なりますが、トピックの最新の投稿に移動すべき場所には移動しません。
クラウス

「いいね!」 1

私のテストでは、Chrome、WindowsでNVDAを使用した場合、フォーカスはトピックの最後の返信に当たります。フォーカスされた要素は表示されませんが、フォーカスを切り替えるために非表示の要素を使用しています。しかし、トピックに移動した後にTabキーを押すと、一貫して投稿の作成者にフォーカスが当たります。

返信が遅くなり申し訳ありません。旅行に出ており、ようやく落ち着いてきました。

これは明白なことで、すでに試されていることかもしれませんが、NVDAがトピックをクリックした際に発する音声に耳を傾けることをお勧めします。視覚情報だけに頼るのではなく。

Firefoxで https://meta.discourse.org にアクセスし、ウェルカム投稿をクリックすると、NVDAが最初に話すのは、ユーザー名や投稿日などが含まれるレベル1の見出しです。

Chromeで同様のことを行うと、何も話されません。フォーカスは視覚的には正しい場所に移動しているかもしれませんが、何らかの理由で音声が出力されません。

これはChromeとFirefoxのアクセシビリティ実装の違いによるものかもしれません。両方のブラウザで「戻る」を使用すると、フォーカスは正しくアクティブな投稿に移動し、それが音声で読み上げられます。しかし、Chromeで投稿を読み込み、hを数回押して別のトピックに移動し、「戻る」を押してから再度投稿をクリックすると、hを押しても最後に読んだ位置ではなく、最初に表示される投稿に移動するようです。これは複数のDiscourseホストフォーラムでも同様です。

これはタイミングの問題のように思われます。アクセシビリティ関連のコードがフォーカスしようとしている要素はDOMに存在しますか? 50ミリ秒程度の短い setTimeout を追加することで解決するかもしれません。一般的に私はこのような問題にはこのようにアプローチしますが、間違っている可能性もあります。

この件に関する皆様の尽力に感謝いたします。

「いいね!」 2