2
ボイスオーバーで「role =“ spinbutton”」をインクリメントする
<input type="text" role="spinbutton" />HTML / JavaScriptの要素を使用して、インクリメント/デクリメントの動作でアクセス可能な入力を実装するのに苦労しています。しかし、VoiceOverでは、予期しない方法で入力の値を変更するインクリメント/デクリメントのためのカスタム(偽?)入力イベントがあるようです。 ユーザーが支援技術を使用してページをナビゲートしているときに、ウィジェットを操作しようとしているときにVoiceOverから不適切なガイダンスを受け取らないようにするにはどうすればよいですか? たとえば、次のような大幅に削減されたコードを使用します。 function logIt(...args) { document.getElementById('output').appendChild( document.createTextNode(`${args.join(', ')}\n`) ); } document.getElementById("myInput").addEventListener('input', (e) => { debugger; logIt(e.type, e.data, String(e)); e.target.setAttribute('aria-valuenow', e.target.value); }, false); document.getElementById("myInput").addEventListener('keydown', (e) => { logIt(e.type, e.data, String(e)); }, false); <input id="myInput" type="text" role="spinbutton" autocomplete="off" defaultValue="1" aria-valuenow="1" aria-valuemin="0" aria-valuemax="100" /> </div> <pre id="output"></pre> …