2017-04-19 2 views
1

私はプラグインjQuery Terminalを持っており、スクリーンリーダーにアクセスしたいと思っています。テキストの入力を可能にするにはどうすればよいですか?カスタム入力テキストボックスをスクリーンリーダーにアクセスさせる方法を教えてください。

生成されたHTMLは次のようになります。

<div class="cmd" style="width: 100%; visibility: visible;"> 
    <span class="prompt"> 
     <span>&gt;&nbsp;</span> 
    </span> 
    <span>Before curosr</span> 
    <span class="cursor">&nbsp;</span> 
    <span>after cursor</span> 
    <textarea autocapitalize="off" spellcheck="false" class="clipboard"> 
    </textarea> 
</div> 

を限り、私は(私は携帯電話のためにそれを持っていたが、その後、すべてのブラウザのためにそれをオンに)テキストを入力するときにテキストエリアにフォーカスが常に言うことができるように。

+1

基本的にあなたがすることはできません。私がチェックした最後のスクリーンリーダーは、javascriptの解析も実行もしません。したがって、あなたの動的に追加された「端末」は、それらが関係する限り存在しません。 – gforce301

+0

@ gforce301だから、私ができる唯一のことは、端末になるdiv内の記述をjavascriptで削除することです。 – jcubic

+1

@ gforce301それは間違っています。スクリーンリーダーはJSを実行しませんが、ブラウザとスクリーンリーダーはマークアップに基づいてブラウザがレンダリングする内容を読み取ります。 – zero298

答えて

2

jQuery TerminalテストページでNVDAを使用してテストしています。 <div class="terminal-output">role="alert"属性を追加しました。スクリーンリーダーは、terminal-outputに追加されたすべてのテキストコンテンツを読み上げています。

しかし、あなたのアクセシビリティで実際に何を達成したいのかにかかっています。スクリーンリーダーが実際に何を読みたいのですか?あなたは実験をする必要がありますが、読者が読んであなたのユーザに提示したいと思うものを呼び出す方法やアリアの役割を見てみましょう。

は私のスクリーンリーダーのログを参照してください、それが「コンソール」ウィンドウに含まれているものを読み出す方法:

Screen Reader Log

+0

ありがとう、いくつかのテストを行う必要がある、あまりにも悪いNVDAは、Windowsのためだけです。 – jcubic

関連する問題