User agent reliability for JAWS Firefox Screen reader compatibility
Screen Readers
Nov 26, 2024
Shows how well JAWS Firefox supports ARIA and WCAG sufficient techniques.
Latest version tested
JAWS 2024.2409.2 with FF 128
- All tests: 106 pass of 125 tests (85%)
- ARIA tests: 39 pass of 47 tests (83%)
- WCAG tests: 73 pass of 86 tests (85%)
Reliability trend
Failing tests
Test | Mode | What the user hears | Notes | |
---|---|---|---|---|
Page with xml:lang set on the html and p elements | Reading | Act-if tay-bill. Ray-day-oh. | Pronounced as English. Ignores xml:lang. | |
application/xhtml+xml page with mismatching lang and xml:lang on the html element | Reading | Ga-raj. Doo-ble. Damm. Un, zway, dray. | Speech pronounced as lang=fr, but CSS matches :lang(de) and German CSS content pronounced as French. | |
embed with title attribute | Reading | Video start. Play button. Mute button. Video end. | No description of non-text content | |
embed with aria-label attribute | Reading | Video start. Play button. Mute button. Video end. | No description of non-text content | |
embed with aria-labelledby attribute | Reading | Video start. Play button. Mute button. Video end. | No description of non-text content | |
audio with aria-label attribute | Reading | Nothing | Nothing voiced for audio - no indication it exists | |
audio with aria-labelledby attribute | Reading | Nothing | Nothing voiced for audio - no indication it exists | |
audio with title attribute | Reading | Nothing | Nothing voiced for audio - no indication it exists | |
video with aria-label attribute | Reading | Nothing | Nothing voiced for video - no indication it exists | |
video with aria-labelledby attribute | Reading | Nothing | Nothing voiced for video - no indication it exists | |
video with title attribute | Reading | Nothing | Nothing voiced for video - no indication it exists | |
abbr with title | Reading | T L N | ABBR expansion ignored using default JAWS settings, available to sighted users as dotted underline tooltip links in browser. | |
input type=text with aria-describedby attribute | Reading | First name. First name. First name edit. A bit of instructions for this field linked with aria describedby. | Focus trap - keeps repeating 'Blank' and can't arrow key out of field, but can tab out | |
area with title attribute | Reading | Image map link graphic, slash left underline arrow dot HTM. Image map link graphic, slash right underline arrow dot HTM. | Reads out URL instead of title | |
area with title attribute | Tabbing | This is alt text graphic, slash left underline arrow dot HTM, image map link graphic. Slash right underline arrow dot HTM, image map link graphic. | Reads out URL instead of link title | |
Data table with role=columnheader headers but no th | Reading | Morning, afternoon. Free, busy. | Table treated as layout table - not announced as table, and no headers read. | |
Data table with td headers attribute | Reading | Table with 7 columns and 3 rows. Homework (column 1, row 1, homework). Exams (column 2, row 1, exams). Projects (column 3, row 1, projects). One (column 1, row 2, homework, one). Two (column 2, row 2, exams, two). Final (column 3, row 2, projects, final). One (column 4, row 2, one). Two (column 5, row 2, two). Final (column 6, row 2, final). Fifteen percent (column 1, row 3, homework one, fifteen percent). Fifteen percent (column 2, row 3, exams two, fifteen percent). Fifteen percent (column 3, row 3, projects final, fifteen percent). Twenty percent (column 4, row 3, one, twenty percent). Ten percent (column 5, row 3, two, ten percent). Ten percent (column 6, row 3, final, ten percent). Fifteen percent (column 7, row 3, fifteen percent). | Wrong headers (and no headers for some cells) read out when using table navigation commands. | |
PDF1 Image with alt text | Reading | Nothing | Image ignored - but Firefox accessibility inspector shows figure named 'this is alt text' in accessibility tree | |
PDF19 Phrase language set to German | Reading | Rah-di-oh | Pronounced as French, using document language, phrase language ignored |
Passing tests
Test | Mode | What the user hears | Notes | |
---|---|---|---|---|
Page with lang set on the html and p elements | Reading | Act-eef tab-le. Rah-di-oh. | Pronounced as French and German. | |
text/html page with mismatching lang and xml:lang on the html element | Reading | Ga-raj. Doo-ble. Damm. Un, deux, trois. | Speech pronounced as lang=fr, and CSS matches :lang(fr). | |
Match lang subtags | Reading | Dam-he. Dam-he. Dam-he. | All pronounced as German. | |
ARIA role=heading | Heading | First level heading, heading level 1. Second level heading, heading level 2. | ||
Heading is img with alt | Heading | Second level alt, heading level 2, graphic. | ||
applet with title attribute | Reading | Title text for applet | ||
applet with fallback content | Reading | Fallback content for applet | ||
applet with aria-label attribute | Reading | Aria label for applet | ||
applet with aria-labelledby attribute | Reading | This is ARIA-LABELLEDBY text | ||
applet inside figure with figcaption element | Reading | Figure caption for applet, figure. Figure caption for applet. Figure caption for applet, figure end. | ||
embed inside figure with figcaption | Reading | Figure caption for embed, figure. Video start. Play button. Mute button. Video end. Figure caption for embed. Figure caption for embed, figure end. | ||
object with fallback content | Reading | Fallback content for object | ||
object with title attribute | Reading | Title for object. | ||
object with aria-label attribute | Reading | ARIA label for object. | ||
object with aria-labelledby attribute | Reading | This is ARIA-LABELLEDBY text. | ||
a element placeholder link with no event handler or href attribute | Reading | Placeholder text | ||
a element placeholder link with no event handler or href attribute | Tabbing | Nothing | Skipped when tabbing, as expected | |
iframe with fallback content | Reading | This is an. Link example hyperlink. In the target page. | Doesn't read out fallback content. | |
iframe with fallback content | Tabbing | Frame, example hyperlink, link. | ||
iframe with title attribute | Reading | This is an. Link example hyperlink. In the target page. | ||
iframe with title attribute | Tabbing | This is an IFRAME title frame, example hyperlink, link. | ||
Interactive iframe with role=presentation and no accessible name | Reading | This is an. Link, example hyperlink. In the target page. | role=presentation makes frame seamless | |
Interactive iframe with role=presentation and no accessible name | Tabbing | Frame, example hyperlink, link. | ||
Interactive iframe with role=presentation and title attribute | Reading | This is an. Link, example hyperlink. In the target page. | role=presentation makes frame seamless | |
Interactive iframe with role=presentation and title attribute | Tabbing | This is frame title, frame, example hyperlink, link. | ||
Interactive iframe with role=presentation and aria-label attribute | Reading | This is an. Link, example hyperlink. In the target page. | role=presentation makes frame seamless | |
Interactive iframe with role=presentation and aria-label attribute | Tabbing | This is aria-label, frame, example hyperlink, link. | ||
button containing img with alt | Reading | This is image alt, button | ||
button containing img with alt | Tabbing | This is image alt, button, to activate press enter | ||
button containing img with title attribute | Reading | This is image title, button | ||
button containing img with title attribute | Tabbing | This is image title, button, to activate press enter | ||
button containing img with aria-label | Reading | This is image aria label, button | ||
button containing img with aria-label | Tabbing | This is image aria label, button, to activate press enter | ||
button containing img with aria-labelledby | Reading | This is an aria labelled by, button. | ||
button containing img with aria-labelledby | Tabbing | This is an aria labelled by, button, to activate press enter | ||
button with title containing img with null alt | Reading | This is button title, button | ||
button with title containing img with null alt | Tabbing | This is button title, button, to activate press enter | ||
button with aria-label containing img with null alt | Reading | This is button aria label, button | ||
button with aria-label containing img with null alt | Tabbing | This is button aria label, button, to activate press enter | ||
input type=image with alt | Reading | This is image button alt text, button | ||
input type=image with alt | Tabbing | This is image button alt text, button, to activate press enter | ||
input type=image with title attribute | Reading | This is image button title text, button | ||
input type=image with title attribute | Tabbing | This is image button title text, button, to activate press enter | ||
input type=image with aria-label attribute | Reading | This is image button aria label text, button | ||
input type=image with aria-label attribute | Tabbing | This is image button aria label text, button, to activate press enter | ||
input type=image with aria-labelledby attribute | Reading | This is image button aria labelled by text, button | ||
input type=image with aria-labelledby attribute | Tabbing | This is image button aria labelled by text, button, to activate press enter | ||
input type=text with aria-describedby attribute | Tabbing | First name, edit, a bit of instructions for this field linked with aria describedby, type in text | ||
input type=text with title attribute | Reading | Enter search text. Enter search text edit. Blank. | ||
input type=text with title attribute | Tabbing | Enter search text, edit, type in text | ||
input type=text with aria-label attribute | Reading | Enter search text. Enter search text edit. Blank. | ||
input type=text with aria-label attribute | Tabbing | Enter search text, edit, type in text | ||
input type=text with aria-labelledby attribute | Reading | Enter search text. Enter search text. Enter search text edit. Blank. | ||
input type=text with aria-labelledby attribute | Tabbing | Enter search text, edit, type in text | ||
input type=text with label for | Reading | Enter search text. Enter search text. Enter search text edit. Blank. | ||
input type=text with label for | Tabbing | Enter search text, edit, type in text | ||
input type=text inside label with text before control | Reading | Enter search text. Enter search text, edit. Blank. | ||
input type=text inside label with text before control | Tabbing | Enter search text, edit, type in text | ||
input type=text inside label with text after control | Reading | Enter search text, edit. Blank. Enter search text. | ||
input type=text inside label with text after control | Tabbing | Enter search text, edit, type in text | ||
input type=text inside label with text before and after control | Reading | Enter search text. Enter search text, blanks not allowed edit. Blank. Blanks not allowed. | ||
input type=text inside label with text before and after control | Tabbing | Enter search text, blanks not allowed, edit, type in text | ||
fieldset containing links | Reading | Group start. Legend for enclosed links. Link home. Link about. Link contact. Group end. | ||
fieldset containing links | Tabbing | Legend for enclosed links group, home link. About link. Contact link. | ||
Yes/No radio buttons inside fieldset element | Reading | Group start. I agree to terms and conditions. Yes, radio button checked, one of two. No, radio button not checked, two of two. Group end. Group start. Sign me up to the newsletter. Yes, radio button checked, one of two. No, radio button not checked, two of two. Group end. | ||
Yes/No radio buttons inside fieldset element | Tabbing | I agree to terms and conditions group, yes, radio button checked, one of two. Sign me up to the newsletter group, yes, radio button checked, one of two. | ||
img with null alt | Reading | Nothing | Ignored as expected | |
img with alt | Reading | This is alt text, graphic | ||
img with figcaption | Reading | Violet, taken on 12/11/2010, figure. Violet, taken on 12/11/2010. Violet, taken on 12/11/2010, figure end. | ||
img with title | Reading | This is title text, graphic | ||
img with aria-label | Reading | This is an aria label, graphic | ||
img with aria-labelledby | Reading | This is an aria labelled by, graphic. This is an aria labelled by | ||
area and img with alt attributes | Reading | Image map link graphic, this is left alt text. Image map link graphic, this is right alt text. | ||
area and img with alt attributes | Tabbing | This is alt text graphic, this is left alt text, image map link graphic. This is right alt text, image map link graphic. | ||
area with alt attribute and img with null alt | Reading | Image map link graphic, this is left alt text. Image map link graphic, this is right alt text. | ||
area with alt attribute and img with null alt | Tabbing | Graphic, this is left alt text, image map link graphic. This is right alt text, image map link graphic. | ||
area with aria-label attribute | Reading | Image map link graphic, this is left aria label text. Image map link graphic, this is right aria label text. | ||
area with aria-label attribute | Tabbing | This is alt text, graphic, this is left aria label text, image map link graphic. This is right aria label text, image map link graphic. | ||
area with aria-labelledby attribute | Reading | Image map link graphic, this is left aria labelled by text. Image map link graphic, this is right aria labelled by text. | ||
area with aria-labelledby attribute | Tabbing | This is alt text graphic, this is left aria labelled by text, image map link graphic. This is right aria labelled by text, image map link graphic. | ||
Link containing img with alt | Reading | Link graphic, this is a link alt | ||
Link containing img with alt | Tabbing | This is a link alt, link graphic | ||
Link containing img with title | Reading | Link graphic, this is an image title | ||
Link containing img with title | Tabbing | This is an image title, link graphic | ||
Click Here link with title attribute | Reading | Link, click here | ||
Click Here link with title attribute | Tabbing | Click here, link, this is a link title | ||
Link text replaced by aria-label attribute | Reading | Link, this is an aria label | ||
Link text replaced by aria-label attribute | Tabbing | This is an aria label, link | ||
Link text replaced by aria-labelledby attribute | Reading | Link, this is an aria labelled by. This is an aria labelled by. | ||
Link text replaced by aria-labelledby attribute | Tabbing | This is an aria labelled by, link | ||
Click Here link with aria-describedby attribute | Reading | Link, click here. This is an aria described by. | ||
Click Here link with aria-describedby attribute | Tabbing | Click here, link, this is an aria described by. | aria-describedby is read when tabbing | |
Layout table with single cell | Reading | This is some text. | Treated as a layout table. | |
Layout table with role=presentation | Reading | Example. Navigation. Links. Content. | Table treated as layout table - not announced as table. | |
Data table with role=grid | Reading | Grid with two columns and two rows. Morning (column one, row one, morning). Afternoon (column two, row one, morning, afternoon). Free (column one, row two, morning, free). Busy (column two, row two, afternoon, busy). Grid end. | Reads cell headers when using table navigation commands. | |
Data table with role=table | Reading | Table with 1 columns and 1 rows. This is some text. | ||
Data table with summary and th | Reading | Table with two columns and two rows. Data table summary. Morning (column one, row one, morning). Afternoon (column two, row one, afternoon). Free (column one, row two, morning, free). Busy (column two, row two, afternoon, busy). | ||
Data table with caption and th | Reading | Table with two columns and two rows. Data table caption. Morning (column one, row one, morning). Afternoon (column two, row one, afternoon). Free (column one, row two, morning, free). Busy (column two, row two, afternoon, busy). | ||
Data table with th cell headers | Reading | Table with two columns and two rows. Morning. Afternoon. Free. Busy. | Reads cell headers when using table navigation commands | |
Data table with th scope on cell headers | Reading | Table with 5 columns and 4 rows. Contact information. Blank (column 1, row 1, blank). Name (column 2, row 1, name). Phone number (column 3, row 1, phone number). Fax number (column 4, row 1, fax number). City (column 5, row 1, city). One (column 1, row 2, one). Joel Garner (column 2, row 2, name, Joel Garner). 412 212 5421 (column 3, row 2, phone number, Joel Garner, 412 212 5421). 412 212 5400 (column 4, row 2, fax number, Joel Garner, 412 212 5400). Pittsburgh (column 5, row 2, city, Joel Garner, Pittsburgh) | Row header read out along with column header for cells when using table navigation commands. | |
PDF18 Document with doc title | Reading | This is document title - SR_PDF_doc_title.pdf | Voices PDF document title, and filename part of URL. | |
PDF9 Document with headings | Reading | Heading 1, heading level 1. Heading 1.2, heading level 2. | ||
PDF4 Decorative image marked as artifact | Reading | Nothing | Image ignored as expected and not present in Firefox accessibility tree. | |
PDF16 Document default language set to French | Reading | Act-eef tab-le | Document pronounced as French, document language applied | |
PDF6 Table with header markup | Reading | Table with 2 columns and 2 rows. Morning (column 1, row 1, morning). Afternoon (column 2, row 1, afternoon). Free (column 1, row 2, morning free). Busy (column 2, row 2, afternoon busy). | ||
PDF6 Table with header markup and alt text | Reading | Table with 2 columns and 2 rows. Alt description for table. Morning (column 1, row 1, morning). Afternoon (column 2, row 1, afternoon). Free (column 1, row 2, morning, free). Busy (column 2, row 2, afternoon, busy). | Word table alt description voiced |