User agent reliability for NVDA Chrome Screen reader compatibility
Screen Readers
Dec 12, 2023
Shows how well NVDA Chrome supports ARIA and WCAG sufficient techniques.
Latest version tested
NVDA 2023.3 with Chrome 120
- All tests: 101 pass of 123 tests (82%)
- ARIA tests: 38 pass of 45 tests (84%)
- WCAG tests: 69 pass of 86 tests (80%)
Reliability trend
Failing tests
Test | Mode | What the user hears | Notes | |
---|---|---|---|---|
Page with xml:lang set on the html and p elements | Reading | Act-eef tab-le. Rad-yoh. | Pronounced as French, xml:lang ignored at element level. | |
application/xhtml+xml page with mismatching lang and xml:lang on the html element | Reading | Ga-raj. Doo-ble. Damm. Un, zwoy, dry-i. | Speech pronounced as lang=fr, but CSS matches :lang(de) and German CSS content pronounced as French. | |
Match lang subtags | Reading | Dam-he. Dam-he. Daim. | lang=de and lang=de-DE pronounced as German, lang=de-AT pronounced as English. | |
embed with title attribute | Reading | Grouping unavailable, menu button, submenu, show more media controls. | No description of non-text content. | |
embed with aria-label attribute | Reading | Menu button, submenu, show more media controls. | No description of non-text content. | |
embed with aria-labelledby attribute | Reading | Grouping unavailable, menu button, submenu, show more media controls. | 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 | |
Interactive iframe with role=presentation and negative tabindex and no accessible name | Tabbing | Nothing | Skips over focusable link in iframe | |
abbr with title | Reading | T L N | ABBR expansion ignored in screen reader, available to sighted users as dotted underline tooltip links in browser. | |
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. | |
PDF9 Document with headings | Reading | Heading level 2, heading 1. | Only finds one heading, reads wrong heading level. | |
PDF1 Image with alt text | Reading | Graphic, unlabeled graphic. | No description for graphic | |
PDF4 Decorative image marked as artifact | Reading | Graphic, unlabeled graphic. | Image not ignored as artifact | |
PDF16 Document default language set to French | Reading | Act-if tay-bill | Pronounced as English, document language ignored | |
PDF19 Phrase language set to German | Reading | Ray-day-oh | Pronounced as English, phrase language ignored | |
PDF6 Table with header markup | Reading | Morning, afternoon. Free, busy. | No table structure voiced. | |
PDF6 Table with header markup and alt text | Reading | Morning, afternoon. Free, busy. | No table structure voiced. |
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). | |
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, graphic heading level 2. | ||
applet with title attribute | Reading | Nothing | Chrome 45 removed applet support in 2015, and doesn't render applet on screen unless applet has fallback content | |
applet with fallback content | Reading | Fallback content for applet | Chrome removed support for Java Applets in September 2015, and doesn't render applet on screen unless applet has fallback content | |
applet with aria-label attribute | Reading | Nothing | Chrome 45 removed applet support in 2015, and doesn't render applet on screen unless applet has fallback content | |
applet with aria-labelledby attribute | Reading | Nothing | Chrome 45 removed applet support in 2015, and doesn't render applet on screen unless applet has fallback content | |
applet inside figure with figcaption element | Reading | Has details caption, figure caption for applet. | Chrome 45 removed applet support in 2015, and doesn't render applet on screen unless applet has fallback content | |
embed inside figure with figcaption | Reading | Has details, grouping unavailable, menu button submenu, show more media controls. Caption, figure caption for embed. | ||
object with fallback content | Reading | Fallback content for object. | Flash is no longer supported by Chrome. | |
object with title attribute | Reading | Embedded object unavailable, title for object. | Screen says 'Adobe Flash Player is no longer supported' | |
object with aria-label attribute | Reading | Embedded object unavailable, ARIA label for object. | Screen says 'Adobe Flash Player is no longer supported' | |
object with aria-labelledby attribute | Reading | Embedded object unavailable, this is ARIA-LABELLEDBY text. | Screen says 'Adobe Flash Player is no longer supported' | |
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 | Frame, this is an, link, example hyperlink in the target page. Out of frame. | Fallback content is ignored | |
iframe with fallback content | Tabbing | Frame, example hyperlink, link. | ||
iframe with title attribute | Reading | This is an IFRAME title, frame, this is an, link, example hyperlink in the target page. Out of frame. | ||
iframe with title attribute | Tabbing | This is an iframe title, frame, example hyperlink, link. | ||
Interactive iframe with role=presentation and no accessible name | Reading | Example target grouping, this is a link, example hyperlink, link, in the target page | Reads as group role instead of frame role, and reads title element of iframe document | |
Interactive iframe with role=presentation and no accessible name | Tabbing | Example target grouping, this is an, example hyperlink, link, in the target page, example hyperlink, link | Reads title element and contents of iframe document | |
Interactive iframe with role=presentation and negative tabindex and no accessible name | Reading | Example target grouping, this is a link, example hyperlink, in the target page. | ||
button containing img with alt | Reading | Button graphic, this is image alt | ||
button containing img with alt | Tabbing | This is image alt, graphic button | ||
button containing img with title attribute | Reading | Button graphic, this is image title. | ||
button containing img with title attribute | Tabbing | This is image title, graphic button. | ||
button containing img with aria-label | Reading | Button graphic, this is image aria label. | ||
button containing img with aria-label | Tabbing | This is image aria label, graphic button. | ||
button containing img with aria-labelledby | Reading | Button graphic, this is an aria labelled by, this is an aria labelled by | ||
button containing img with aria-labelledby | Tabbing | This is an aria labelled by, graphic button. | ||
button with title containing img with null alt | Reading | Button, this is button title | ||
button with title containing img with null alt | Tabbing | This is button title, button | ||
button with aria-label containing img with null alt | Reading | Button, this is button aria label | ||
button with aria-label containing img with null alt | Tabbing | This is button aria label, button | ||
input type=image with alt | Reading | Button, this is image button alt text | ||
input type=image with alt | Tabbing | This is image button alt text, button | ||
input type=image with title attribute | Reading | Button, this is image button title text | ||
input type=image with title attribute | Tabbing | This is image button title text, button | ||
input type=image with aria-label attribute | Reading | Button, this is image button aria label text | ||
input type=image with aria-label attribute | Tabbing | This is image button aria label text, button | ||
input type=image with aria-labelledby attribute | Reading | Button, this is image button aria labelled by text, this is image button aria labelled by text | ||
input type=image with aria-labelledby attribute | Tabbing | This is image button aria labelled by text, button | ||
input type=text with aria-describedby attribute | Reading | First name, edit, a bit of instructions for this field linked with aria describedby | ||
input type=text with aria-describedby attribute | Tabbing | First name, edit, a bit of instructions for this field linked with aria describedby, blank | ||
input type=text with title attribute | Reading | Enter search text, edit | ||
input type=text with title attribute | Tabbing | Enter search text, edit, blank | ||
input type=text with aria-label attribute | Reading | Enter search text, edit | ||
input type=text with aria-label attribute | Tabbing | Enter search text, edit, blank | ||
input type=text with aria-labelledby attribute | Reading | Enter search text, edit | ||
input type=text with aria-labelledby attribute | Tabbing | Enter search text, edit, blank | ||
input type=text with label for | Reading | Enter search text, edit | ||
input type=text with label for | Tabbing | Enter search text, edit, blank | ||
input type=text inside label with text before control | Reading | Enter search text, edit | ||
input type=text inside label with text before control | Tabbing | Document, enter search text, edit, blank | ||
input type=text inside label with text after control | Reading | Edit, enter search text | ||
input type=text inside label with text after control | Tabbing | Document, enter search text, edit, blank | ||
input type=text inside label with text before and after control | Reading | Enter search text, edit, blanks not allowed | ||
input type=text inside label with text before and after control | Tabbing | Document, enter search text, blanks not allowed, edit, blank | ||
fieldset containing links | Reading | Grouping, legend for enclosed links. Link home, link about, link contact. Out of grouping. | ||
fieldset containing links | Tabbing | Legend for enclosed links, grouping, home link. About link. Contact link. | ||
Yes/No radio buttons inside fieldset element | Reading | Grouping, I agree to terms and conditions. Radio button checked, yes, radio button not checked, no. Out of grouping, grouping, sign me up to the newsletter. Radio button checked, yes, radio button not checked, no. Out of grouping. | ||
Yes/No radio buttons inside fieldset element | Tabbing | I agree to terms and conditions grouping, yes radio button checked, one of two. Sign me up to the newsletter grouping, yes radio button checked, one of two. | ||
img with null alt | Reading | Nothing | Ignored as expected | |
img with alt | Reading | Graphic, this is alt text | ||
img with figcaption | Reading | Has details caption, Violet, taken on 12/11/2010. | ||
img with title | Reading | Graphic, this is title text | ||
img with aria-label | Reading | Graphic, this is an aria label | ||
img with aria-labelledby | Reading | Graphic, this is an aria labelled by, this is an aria labelled by | ||
area and img with alt attributes | Reading | Link, this is left alt text, link, this is right alt text | ||
area and img with alt attributes | Tabbing | This is left alt text, link. This is right alt text, link | ||
area with alt attribute and img with null alt | Reading | Link, this is left alt text, link, this is right alt text. | ||
area with alt attribute and img with null alt | Tabbing | This is left alt text, link. This is right alt text, link. | ||
area with title attribute | Reading | Link, this is left title text, link, this is right title text. | ||
area with title attribute | Tabbing | This is left title text, link. This is right title text, link | ||
area with aria-label attribute | Reading | Link, this is left aria label text, link, this is right aria label text. | ||
area with aria-label attribute | Tabbing | This is left aria label text, link. This is right aria label text, link. | ||
area with aria-labelledby attribute | Reading | Link, this is left aria labelled by text, link, this is right aria labelled by text. | ||
area with aria-labelledby attribute | Tabbing | This is left aria labelled by text, link. This is right aria labelled by text, link. | ||
Link containing img with alt | Reading | Link graphic, this is a link alt | ||
Link containing img with alt | Tabbing | This is a link alt, graphic link | ||
Link containing img with title | Reading | Link graphic, this is an image title | ||
Link containing img with title | Tabbing | This is an image title, graphic link | ||
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 | ||
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 | Table with two rows and two columns, row one column one, morning. Column two, afternoon. Row two, morning, column one, free. Afternoon, column two, busy. | ||
Data table with role=table | Reading | Table with 1 rows and 1 columns. Row 1, columns 1, this is some text. | ||
Data table with summary and th | Reading | Table with two rows and two columns, data table summary. Row one column one, morning. Column two, afternoon. Row two, morning, column one, free. Afternoon, column two, busy. | ||
Data table with caption and th | Reading | Table with two rows and two columns, caption, data table caption. Row one column one, morning. Column two, afternoon. Row two, morning, column one, free. Afternoon, column two, busy. | ||
Data table with th cell headers | Reading | Table with two rows and two columns, row one column one, morning. Column two, afternoon. Row two, morning, column one, free. Afternoon, column two, busy. | ||
Data table with th scope on cell headers | Reading | Table with 4 rows and 5 columns, caption, contact information. Row 1, column 1. Column 2, name. Column 3, phone number. Column 4, fax number. Column 5, city. Joel Garner, row 2, column 1, one. Name, column 2, Joel Garner. Phone number, column 3, 412 212 5421. Fax number, column 4, 412 212 5400. City, column 5, Pittsburgh. | Column headers, but no row headers, announced for TD cells in reading mode, but row headers are announced when using table navigation commands. | |
Data table with td headers attribute | Reading | Table with 3 rows and 7 columns, row 1 through 2, column 1, homework. Row 1, 1 column 2 through 4, exams. 1 column 5 through 7, projects. Row 2, exams 1, column 1, one. Exams column 2, two. Exams column 3, final. Projects column 4, one. Projects column 5, two. Projects column 6, final. Row 3, homework homework, column 1, fifteen percent. Exams one, column 2, fifteen percent. Exams two, column 3, fifteen percent. Exams final, column 4, twenty percent. Projects one, column 5, ten percent. Projects two, column 6, ten percent. Projects final, column 7, fifteen percent. | Headers associated with the cell read out before column number. | |
PDF18 Document with doc title | Reading | This is document title | Voices document title. |