2016-09-02 14 views
0

У меня возникла проблема, когда JAWS запускает события щелчка, когда используется ярлык JAWS-специфичной клавиатуры, когда ячейка сетки сосредоточена, а JAWS - в режиме формы.JAWS сочетания клавиш стрельбы по событиям на арии 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> 

Если вкладка перейти на «Click Me» ячейки и используйте комбинацию клавиш JAWS, например insert + ctrl + b (отображение кнопок на ярлыке страницы), событие щелчка запускается на сфокусированном элементе и появляется предупреждение JS, сообщая о событии «щелчок».

Является ли это ожидаемым поведением JAWS? Как я могу избежать запуска элементов, когда используется shrotcut клавиатуры?

+0

Прошу прощения, почему вы используете роль 'presentation' здесь? AFAIK, его не следует использовать, если вам абсолютно не нужно. –

+0

Я думаю, что это красная сельдь. rule = "grid" (и даже никакой роли в теге таблицы) вызывает одинаковое поведение в отношении проблемы с нажатием кнопки. –

+1

У вас есть URL? Я подозреваю, что здесь есть несколько проблем, таких как 'tabindex' на' ', который изменил свою роль в уже де-семантизированной «таблице» вместе с 'a', который не имеет' href'. Учитывая то, что я вижу именно в этом коде, я думаю, что видеть всю страницу необходимо. – 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

Удаление роли = «сетка» не является вариантом, пример послужил примером проблемы в ее самой базовой форме за пределами моего приложения. Роли арии необходимы. –