2016-09-02 4 views
0

グリッドセルにフォーカスが当たってJAWSがフォームモードのときにJAWS固有のキーボードショートカットを使用すると、JAWSがクリックイベントを発生させる問題に直面しています。JAWSのキーボードショートカットでaria role = "gridcell"のクリックイベントが発生する

以下のサンプルでは、​​私が説明した動作を生成することになります:私はそれが最も簡単FirefoxでとJAWS 17でこの現象を再現するために見つける:

<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"> 
<head><title>clicking issue</title></head> 
<body> 
     <table role="grid" summary="sample"> 
     <tbody> 
      <tr> 
        <td> 
         <a href="#" onclick="alert(event.type);">Gridcell Role Cell</a> 
        </td> 
      </tr> 
      <tr> 
        <td> 
         <input type="checkbox" name="testcheckbox">Gridcell Checkbox 
        </td> 
      </tr> 
     </tbody> 
     </table> 


     <input type="checkbox" name="testcheckbox2">Non-Gridcell Checkbox 2 
</body> 
</html> 

あなたはタブ「MEをクリックして」セルに移動するととJAWSのキーボードショートカットを使用してください。 insert + ctrl + b(ページショートカットのボタンを表示)、フォーカスされた要素でクリックイベントが発生し、JSアラートが表示され、「クリック」イベントが報告されます。

これはJAWSの動作ですか?どのように私はキーボードのshrotcutが使用されている要素のトリガーを避けることができますか?

+0

私は申し訳ありませんが、なぜここで 'presentation'役割を使用していますか? AFAIK、あなたが絶対にしなければ、それは使用すべきではありません。 –

+0

私はそれが赤ちゃんだと思う。ルール= "グリッド"(そしてテーブルタグにもロールはありません)は、クリックイベントの問題に関して同じ動作をします。 –

+1

URLをお持ちですか? '​​'の 'tabindex'のように、' href'を持たない 'a'と一緒に意味のない' table'の中で役割が変わったというような、いくつかの問題がここに積み重ねられていると思います。私がこのコードで見ていることを考えれば、ページ全体を見ることが必要だと思います。 – aardrian

答えて

0

サンプルコードを試してみてください。 role="grid"を削除すると、IE11とJAWS17で正常に動作します。

チェックボックスのリストを取得するには、insert+ctrl+xを押してください。 role="grid"の場合は、insert+ctrl+xを押しながらチェックボックスを切り替えます。

<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"> 
<head> 
    <title>clicking issue</title> 
</head> 
<body> 
    <table summary="sample"> 
     <tbody> 
      <tr> 
       <td> 
        <a href="#" onclick="alert(event.type);">Gridcell Role Cell</a> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        <input type="checkbox" name="testcheckbox" id="gcCheckbox"><label for="gcCheckbox">Gridcell Checkbox</label> 
       </td> 
      </tr> 
     </tbody> 
    </table> 


    <input type="checkbox" name="testcheckbox2" id="nonGcCheckbox"><label for="nonGcCheckbox">Non-Gridcell Checkbox 2</label> 
</body> 
</html> 
+0

role = "grid"の削除はオプションではありません。この例題は、アプリケーションの外で最も基本的な形式の問題を例示しています。アリアの役割が必要です。 –

関連する問題