I have a form with 120 radio buttons, grouped in 30 fieldsets of each 4 radiobuttons. There is one submit <button>
. There are no other inputs.
When not using JAWS, the tab behaviour of various browsers work fine. When focusing a fieldsets first radio button, the arrows jump between radiobuttons, and space bar selects one. Tab jumps to the next fieldset.
As soon as JAWS is running, when focusing a fieldsets first radio button, 'form mode' is not entered automatically. Arrows start reading characters one by one. Tab jumps to the next fieldset. Pressing enter enters form mode ('plonk') and then it works as normal.
'auto form mode' is selected in the settings and it works on other forms on the internet.
two questions:
- does anyone know why this could happen ?
- does anyone know a way to force jaws into form mode using html ?
on request: a snippet of the html
<fieldset>
<legend>
<h2 tabindex="0">
Text
</h2>
</legend>
<p tabindex="0">
Text
</p>
<input type="radio" id="xxxx" name="xxxx" data-foo="xxx" value="a">
<label for="xxxx">
<strong>
Text
</strong>
</label>
<input type="radio" id="yyyy" name="xxxx" data-foo="yyyy" value="b">
<label for="yyyy">
<strong>
Text
</strong>
</label>
<input type="radio" id="zzzz" name="xxxx" data-foo="zzzz" value="d">
<label for="zzzz">
Text
</label>
</fieldset>
`` that I really want to have read by the screenreader before you get to the radiobuttons. it's like an introduction ('do you like cherries ?' yes / no / dontknow)
– commonpike Mar 03 '17 at 09:11` (assuming the `
` had an `id=`), then your introduction would be read when you first tab to the radio button. And it works better than `tabindex=0` on the `
` because the introduction will **also** be read when you tab backwards if you were past the radio buttons and you shift+tabbed back to the radio group. Your `
` would not be read in the tabindex case (because your focus isn't on it yet) but it would be read if `aria-labelledby` was used.