User agent reliability for NVDA Edge Screen reader compatibility

Screen Readers
Nov 26, 2024

Shows how well NVDA Edge supports ARIA and WCAG sufficient techniques.

Latest version tested

NVDA 2024.4 with Edge 131

  • All tests: 110 pass of 125 tests (88%)
  • ARIA tests: 44 pass of 47 tests (94%)
  • WCAG tests: 74 pass of 86 tests (86%)

Reliability trend

100%80%60%40%20%0%201420152016201720182019202085%202184%202283%202383%202488%

Failing tests

 TestModeWhat the user hearsNotes
Page with xml:lang set on the html and p elementsReadingAct-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 elementReadingGa-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 subtagsReadingDam-he. Dam-he. Daim.lang=de and lang=de-DE pronounced as German, lang=de-AT pronounced as English.
embed with title attributeReadingTitle text for embed. Grouping unavailable, menu button, submenu, show more media controls. Out of grouping.Title not read, no description of non-text content.
audio with aria-label attributeReading Nothing Nothing voiced for audio - no indication it exists
audio with aria-labelledby attributeReading Nothing Nothing voiced for audio - no indication it exists
audio with title attributeReading Nothing Nothing voiced for audio - no indication it exists
abbr with titleReadingT L NABBR expansion ignored.
Data table with role=columnheader headers but no thReadingMorning. Afternoon. Free. Busy.Table treated as layout table - not announced as table, and no headers read.
PDF9 Document with headingsReadingHeading level 2, heading 1.Only finds one heading, reads wrong heading level.
PDF4 Decorative image marked as artifactReadingGraphic, unlabeled graphic.Image not ignored as artifact
PDF16 Document default language set to FrenchReadingAct-if tay-billPronounced as English, document language ignored
PDF19 Phrase language set to GermanReadingRay-day-ohPronounced as English, phrase language ignored
PDF6 Table with header markupReadingMorning, afternoon. Free, busy.No table structure voiced.
PDF6 Table with header markup and alt textReadingMorning, afternoon. Free, busy.No table structure voiced.

Passing tests

 TestModeWhat the user hearsNotes
Page with lang set on the html and p elementsReadingAct-eef tab-le. Rah-di-oh.Pronounced as French and German.  
text/html page with mismatching lang and xml:lang on the html elementReadingGa-raj. Doo-ble. Damm. Un, deux, trois.Speech pronounced as lang=fr, and CSS matches :lang(fr).  
ARIA role=headingHeadingFirst level heading, heading level 1. Second level heading, heading level 2.  
Heading is img with altHeadingSecond level alt, graphic heading level 2.  
applet with title attributeReading Nothing Edge has no applet support, and doesn't render applet on screen unless applet has fallback content  
applet with fallback contentReadingFallback content for appletEdge has no applet support, and doesn't render applet on screen unless applet has fallback content  
applet with aria-label attributeReading Nothing Edge has no applet support, and doesn't render applet on screen unless applet has fallback content  
applet with aria-labelledby attributeReading Nothing Edge has no applet support, and doesn't render applet on screen unless applet has fallback content  
applet inside figure with figcaption elementReadingFigure caption, figure caption for applet. Out of caption, out of figure.Edge does not support applets, and doesn't render applet on screen unless applet has fallback content  
embed inside figure with figcaptionReadingFigure grouping unavailable, menu button submenu, show more media controls. Out of grouping, blank. Caption, figure caption for embed. Out of caption, out of figure.Reads out FIGCAPTION  
embed with aria-label attributeReadingARIA label for embed. Grouping unavailable, menu button, submenu, show more media controls. Video time scrubber slider total time 0:05, elapsed time midnight.The text 0:00 is voiced as 'midnight'  
embed with aria-labelledby attributeReadingThis is ARIA-LABELLEDBY text. Grouping unavailable, menu button, submenu, show more media controls. Video time scrubber slider total time 0:05, elapsed time midnight.The text 0:00 is voiced as 'midnight'  
object with fallback contentReadingFallback content for object.Flash is no longer supported by Edge.  
object with title attributeReadingEmbedded object unavailable, title for object.Screen says 'This plug-in isn't supported'  
object with aria-label attributeReadingEmbedded object unavailable, ARIA label for object.Screen says 'This plug-in isn't supported'  
object with aria-labelledby attributeReadingEmbedded object unavailable, this is ARIA-LABELLEDBY text.Screen says 'This plug-in isn't supported'  
video with aria-label attributeReadingVideo aria label, grouping, out of grouping.  
video with aria-labelledby attributeReadingThis is ARIA-LABELLEDBY text, grouping, out of grouping  
video with title attributeReadingVideo title grouping, out of grouping.  
a element placeholder link with no event handler or href attributeReadingPlaceholder text  
a element placeholder link with no event handler or href attributeTabbing Nothing Skipped when tabbing, as expected  
iframe with fallback contentReadingFrame, this is an, link, example hyperlink in the target page. Out of frame.Fallback content is ignored  
iframe with fallback contentTabbingFrame, example hyperlink, link.  
iframe with title attributeReadingThis is an IFRAME title, frame, this is an, link, example hyperlink in the target page. Out of frame.  
iframe with title attributeTabbingThis is an iframe title, frame, example hyperlink, link.  
Interactive iframe with role=presentation and no accessible nameReadingExample target grouping, this is a link, example hyperlink, in the target pageReads iframe as group role, and reads title element of iframe document  
Interactive iframe with role=presentation and no accessible nameTabbingExample target grouping, this is an, example hyperlink, link, in the target page, example hyperlink, linkReads title element and contents of iframe document  
Interactive iframe with role=presentation and title attributeReadingThis is frame title, grouping, example target grouping, this is an, link, example hyperlink in the target page.  
Interactive iframe with role=presentation and title attributeTabbingThis is frame title, grouping, example target grouping, this an example hyperlink, link, in the target page, example hyperlink, link.  
Interactive iframe with role=presentation and aria-label attributeReadingThis is aria-label, grouping, example target grouping, this is an, link, example hyperlink in the target page.  
Interactive iframe with role=presentation and aria-label attributeTabbingThis is aria-label, grouping, example target grouping, this an example hyperlink, link, in the target page, example hyperlink, link.  
button containing img with altReadingButton graphic, this is image alt  
button containing img with altTabbingThis is image alt, graphic button  
button containing img with title attributeReadingButton graphic, this is image title  
button containing img with title attributeTabbingThis is image title, graphic button  
button containing img with aria-labelReadingButton graphic, this is image aria label  
button containing img with aria-labelTabbingThis is image aria label, graphic button  
button containing img with aria-labelledbyReadingButton graphic, this is an aria labelled by, this is an aria labelled by  
button containing img with aria-labelledbyTabbingThis is an aria labelled by, graphic button.  
button with title containing img with null altReadingButton, this is button title  
button with title containing img with null altTabbingThis is button title, button  
button with aria-label containing img with null altReadingButton, this is button aria label  
button with aria-label containing img with null altTabbingThis is button aria label, button  
input type=image with altReadingButton, this is image button alt text  
input type=image with altTabbingThis is image button alt text, button  
input type=image with title attributeReadingButton, this is image button title text  
input type=image with title attributeTabbingThis is image button title text, button  
input type=image with aria-label attributeReadingButton, this is image button aria label text  
input type=image with aria-label attributeTabbingThis is image button aria label text, button  
input type=image with aria-labelledby attributeReadingButton, this is image button aria labelled by text, this is image button aria labelled by text  
input type=image with aria-labelledby attributeTabbingThis is image button aria labelled by text, button  
input type=text with aria-describedby attributeReadingFirst name, edit, a bit of instructions for this field linked with aria describedby  
input type=text with aria-describedby attributeTabbingFirst name, edit, a bit of instructions for this field linked with aria describedby, blank  
input type=text with title attributeReadingEnter search text, edit  
input type=text with title attributeTabbingEnter search text, edit, blank  
input type=text with aria-label attributeReadingEnter search text, edit  
input type=text with aria-label attributeTabbingEnter search text, edit, blank  
input type=text with aria-labelledby attributeReadingEnter search text, edit  
input type=text with aria-labelledby attributeTabbingEnter search text, edit, blank  
input type=text with label forReadingEnter search text, edit  
input type=text with label forTabbingEnter search text, edit, blank  
input type=text inside label with text before controlReadingEnter search text, edit  
input type=text inside label with text before controlTabbingDocument, enter search text, edit, blank  
input type=text inside label with text after controlReadingEdit, enter search text  
input type=text inside label with text after controlTabbingDocument, enter search text, edit, blank  
input type=text inside label with text before and after controlReadingEnter search text, edit, blanks not allowed  
input type=text inside label with text before and after controlTabbingDocument, enter search text, blanks not allowed, edit, blank  
fieldset containing linksReadingGrouping, legend for enclosed links. Link home, link about, link contact. Out of grouping.  
fieldset containing linksTabbingLegend for enclosed links, grouping, home link. About link. Contact link.  
Yes/No radio buttons inside fieldset elementReadingGrouping, 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 elementTabbingI 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 altReading Nothing Ignored as expected  
img with altReadingGraphic, this is alt text  
img with figcaptionReadingFigure caption, Violet, taken on 12/11/2010.  
img with titleReadingGraphic, this is title text  
img with aria-labelReadingGraphic, this is an aria label  
img with aria-labelledbyReadingGraphic, this is an aria labelled by, this is an aria labelled by  
area and img with alt attributesReadingLink, this is left alt text, link, this is right alt text  
area and img with alt attributesTabbingThis is left alt text, link. This is right alt text, link  
area with alt attribute and img with null altReadingLink, this is left alt text, link, this is right alt text  
area with alt attribute and img with null altTabbingThis is left alt text, link. This is right alt text, link.  
area with title attributeReadingLink, this is left title text, link, this is right title text  
area with title attributeTabbingThis is left title text, link. This is right title text, link  
area with aria-label attributeReadingLink, this is left aria label text, link, this is right aria label text  
area with aria-label attributeTabbingThis is left aria label text, link. This is right aria label text, link.  
area with aria-labelledby attributeReadingLink, this is left aria labelled by text, link, this is right aria labelled by text  
area with aria-labelledby attributeTabbingThis is left aria labelled by text, link. This is right aria labelled by text, link.  
Link containing img with altReadingLink graphic, this is a link alt  
Link containing img with altTabbingThis is a link alt, graphic link  
Link containing img with titleReadingLink graphic, this is an image title  
Link containing img with titleTabbingThis is an image title, graphic link  
Click Here link with title attributeReadingLink, click here  
Click Here link with title attributeTabbingClick here link, this is a link title  
Link text replaced by aria-label attributeReadingLink, this is an aria label  
Link text replaced by aria-label attributeTabbingThis is an aria label, link  
Link text replaced by aria-labelledby attributeReadingLink, this is an aria labelled by, this is an aria labelled by  
Link text replaced by aria-labelledby attributeTabbingThis is an aria labelled by, link  
Click Here link with aria-describedby attributeReadingLink click here, this is an aria described by  
Click Here link with aria-describedby attributeTabbingClick here link, this is an aria described by  
Layout table with single cellReadingThis is some text.Treated as a layout table.  
Layout table with role=presentationReadingExample. Navigation. Links. Content.Table treated as layout table - not announced as table.  
Data table with role=gridReadingTable 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=tableReadingTable with 1 rows and 1 columns. Row 1, columns 1, this is some text.  
Data table with summary and thReadingTable 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 thReadingTable with two rows and two columns, caption, data table caption. Out of caption, row one column one, morning. Column two, afternoon. Row two, morning, column one, free. Afternoon, column two, busy.  
Data table with th cell headersReadingTable 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 headersReading Table with 4 rows and 5 columns, caption, contact information. Out of caption, 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 attributeReading 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, 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 titleReadingThis is document title  
PDF1 Image with alt textReadingGraphic, this is alt text