div内にボタンのコレクションがあり、矢印キーイベントに応答してボタン間でフォーカスを移動するjavascriptがあります。
これを NVDA/Firefox/Windows でテストすると、NVDA が矢印キー ハンドラーをオーバーライドし、独自のルールに従ってフォーカスを移動するようです。私のウィジェットは高度にカスタマイズ可能で、動的で、応答性が高いため、これは問題です。そのため、フォーカスを移動するためのルールは非常に複雑です。
Voiceover にも ChromeVox にもこの動作はありません。
各ボタンに role="gridcell" を追加するとこれが修正されるように見えますが、スクリーンリーダーが私のボタンをボタンとして扱わないことを意味するため、そうしないことをお勧めします。また、絶対に必要でない限り、html 構造を変更したくありません (たとえば、各ボタンを別の要素にラップするなど)。
ボタンに独自の矢印キーの動作を適用しないように NVDA に指示する方法 (たとえば、aria または独自の属性) はありますか?