User agent reliability for NVDA IE Screen reader compatibility

Last updated: October 16, 2016

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

Latest version tested

NVDA 2016.2 with IE11

Failing tests

 TestModeWhat the user hearsNotes
FailAPPLET with fallback contentReadingEmbedded objectFallback content not read, although it's visible on screen, no indication of applet content.
FailAPPLET with ARIA-LABELLEDBY attributeReading Nothing Nothing voiced for applet - no indication it exists
FailEMBED with ARIA-LABELLEDBY attributeReadingEmbedded object, unnamed_view_0No description of non-text content.
FailOBJECT with fallback contentReadingEmbedded objectFallback content not read, no description of non-text content
FailOBJECT with ARIA-LABELLEDBY attributeReadingEmbedded objectNo description of non-text content
FailAUDIO with ARIA-LABEL attributeReading Nothing Nothing voiced for audio - no indication it exists
FailAUDIO with ARIA-LABELLEDBY attributeReading Nothing Nothing voiced for audio - no indication it exists
FailVIDEO with ARIA-LABELLEDBY attributeReadingVideoNothing voiced for video - no indication it exists
WorseIFRAME with titleTabbingOne thousand two hundred and thirty four dot HTML, frame, this is an, example hyperlink, link, in the target page. Example hyperlink, link. Out of frame.Frame SRC URL gibberish is voiced if IFRAME has a non-empty title attribute
FailBUTTON wraps IMG with aria-labelledbyTabbingButtonNothing indicates button function
WorseINPUT type=image with aria-labelledby attributeTabbingButtonReads "button" without saying what button does.
FailINPUT type=text with TITLE attributeReadingEditDoesn't read title in Reading mode
FailINPUT type=text with aria-label attributeReadingEditDoesn't read aria label in Reading mode
WorseFIELDSET containing linksTabbingHome link. About link. Contact link.Legend not read when tabbing forward, but is read when shift-tabbing backwards.
FailIMG with aria-labelledbyReadingThis is an aria labelled byImage ignored
FailAREA with ALT attributeTabbing Nothing Complete silence when tabbing between AREAs.
FailAREA with TITLE attributeTabbing Nothing Complete silence when tabbing between AREAs.
FailAREA with aria-label attributeTabbing Nothing Complete silence when tabbing between AREAs.
WorseAREA with aria-labelledby attributeReadingGraphic, this is alt text, link, link, this is left aria labelled by text, this is right aria labelled by textlink text blank, labels read out after links
FailAREA with aria-labelledby attributeTabbing Nothing Complete silence when tabbing between AREAs.
FailA "click here" link with TITLE attributeTabbingClick here, linktitle ignored
WorseA "click here" link with aria-labelledby attributeTabbingClick here, linkaria-labelledby ignored
FailData table with role rowheader headers but no THReadingMorning. Afternoon. Free. Busy.Table treated as layout table - not announced as table, and no headers read.
FailData table with TH row/columns headers with SCOPEReading Table with 4 rows and 5 columns, contact information. Row 1, column 1. Column 2, name. Column 3, phone number. Column 4, fax number. Column 5, city. 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.
FailData table with TD HEADERS attributeReading Table with 3 rows and 7 columns, row 1 column 1, homework. Column 2, exams. Column 5, projects. Row 2, exams, column 2, one. Exams, column 3, two. Exams, column 4, final. Projects, column 5, one. Projects, column 6, two. Projects, column 7, final. Homework, row 3, homework, column 1, fifteen percent. Exams, column 2, fifteen percent. Exams, column 3, fifteen percent. Exams, column 4, twenty percent. Projects, column 5, ten percent. Projects, column 6, ten percent. Projects, column 7, fifteen percent. Only first row TH read, table structure incomprehensible.

Passing tests

 TestModeWhat the user hearsNotes
BetterARIA role=headingHeadingFirst level heading, heading level 1. Second level heading, heading level 2.  
PassHeading is IMG with ALTHeadingSecond level alt, graphic heading level 2.  
PassAPPLET with ARIA-LABEL attributeReadingEmbedded object, ARIA label for applet  
PassAPPLET inside FIGURE with FIGCAPTION elementReadingEmbedded object. Figure caption for appletFIGCAPTION is read out.  
PassEMBED inside FIGURE with FIGCAPTIONReadingEmbedded object, unnamed_view_0. Figure caption for embed.Reads out FIGCAPTION  
PassEMBED with ARIA-LABEL attributeReadingEmbedded object, ARIA label for embed.  
PassOBJECT with ARIA-LABEL attributeReadingEmbedded object, ARIA label for objectVoices ARIA-LABEL attribute  
PassVIDEO with ARIA-LABEL attributeReadingVideo aria label  
PassIFRAME with fallback contentReadingFrame, this is an, link, example hyperlink in the target page. Out of frame.IFRAME alternative content ignored, and doesn't appear in the DOM.  
PassIFRAME with fallback contentTabbingFrame, this is an, example hyperlink, link, in the target page. Example hyperlink, link. Out of frame.Fallback content is ignored  
PassIFRAME with titleReadingFrame, this is an, link, example hyperlink in the target page. Out of frame.IFRAME title ignored.  
BetterABBR with titleReadingEt cetera  
BetterBUTTON wraps only an IMG with an ALT attributeReadingButton graphic, this is image alt  
BetterBUTTON wraps only an IMG with an ALT attributeTabbingThis is image alt, graphic button  
BetterBUTTON wraps IMG with TITLE attributeReadingButton graphic, this is image title  
BetterBUTTON wraps IMG with TITLE attributeTabbingThis is image title, graphic button  
BetterBUTTON wraps IMG with aria-labelReadingButton graphic, this is image aria label  
BetterBUTTON wraps IMG with aria-labelTabbingThis is image aria label, graphic button  
PassBUTTON wraps IMG with aria-labelledbyReadingButton, this is an aria labelled by  
PassBUTTON with TITLE wraps IMG with null ALTReadingButton, this is button title  
PassBUTTON with TITLE wraps IMG with null ALTTabbingThis is button title, button  
PassBUTTON with aria-label wraps IMG with null ALTReadingButton, this is button aria label  
PassBUTTON with aria-label wraps IMG with null ALTTabbingThis is button aria label, button  
PassINPUT type=image with ALT attributeReadingButton, this is image button alt text  
PassINPUT type=image with ALT attributeTabbingThis is image button alt text, button  
PassINPUT type=image with TITLE attributeReadingButton, this is image button title text  
PassINPUT type=image with TITLE attributeTabbingThis is image button title text, button  
PassINPUT type=image with aria-label attributeReadingButton, this is image button aria label text  
PassINPUT type=image with aria-label attributeTabbingThis is image button aria label text, button  
PassINPUT type=image with aria-labelledby attributeReadingButton, this is image button aria labelled by text  
PassINPUT type=text with aria-describedby attributeReadingFirst name, edit, a bit of instructions for this field linked with aria describedby  
PassINPUT type=text with aria-describedby attributeTabbingFirst name, edit, a bit of instructions for this field linked with aria describedby, blank  
PassINPUT type=text with TITLE attributeTabbingEnter search text, edit, blank  
PassINPUT type=text with aria-label attributeTabbingEnter search text, edit, blank  
PassINPUT type=text with aria-labelledby attributeReadingEnter search text, edit  
PassINPUT type=text with aria-labelledby attributeTabbingEnter search text, edit, blank  
PassINPUT type=text with LABEL FORReadingEnter search text, edit  
PassINPUT type=text with LABEL FORTabbingEnter search text, edit, blank  
PassINPUT type=text inside LABEL with text before controlReadingEnter search text, edit  
PassINPUT type=text inside LABEL with text before controlTabbingEnter search text, edit, blank  
PassINPUT type=text inside LABEL with text after controlReadingEdit, enter search text  
PassINPUT type=text inside LABEL with text after controlTabbingEnter search text, edit, blank  
PassINPUT type=text inside LABEL with text before and after controlReadingEnter search text, edit, blanks not allowed  
PassINPUT type=text inside LABEL with text before and after controlTabbingEnter search text, blanks not allowed, edit, blank  
PassFIELDSET containing linksReadingLegend for enclosed links, link home, link about, link contact.  
PassYes/No radio buttons inside FIELDSETReadingI agree to terms and conditions, radio button checked, yes, radio button not checked, no. Sign me up to the newsletter, radio button checked, yes, radio button not checked, no.  
PassYes/No radio buttons inside FIELDSETTabbingI agree to terms and conditions grouping, yes radio button checked. Sign me up to the newsletter grouping, yes radio button checked.  
PassIMG with null ALT attributeReading Nothing Ignored as expected  
PassIMG with ALTReadingGraphic, this is alt text  
PassIMG with FIGCAPTIONReadingViolet, taken on 12/11/2010  
PassIMG with TITLEReadingGraphic, this is title text  
BetterIMG with aria-labelReadingGraphic, this is an aria label  
PassAREA with ALT attributeReadingGraphic, this is alt text, link, this is left alt text, link, this is right alt text  
PassAREA with TITLE attributeReadingGraphic, this is alt text, link, this is left title text, link, this is right title text  
PassAREA with aria-label attributeReadingGraphic, this is alt text, link, this is left aria label text, link, this is right aria label text  
PassA link wraps IMG with ALTReadingLink graphic, this is a link alt  
PassA link wraps IMG with ALTTabbingThis is a link alt, graphic link  
PassA link wraps IMG with TITLEReadingLink graphic, this is an image title  
PassA link wraps IMG with TITLETabbingThis is an image title, graphic link  
PassA "click here" link with TITLE attributeReadingLink, click here  
PassA "click here" link with aria-label attributeReadingLink, this is an aria label  
BetterA "click here" link with aria-label attributeTabbingThis is an aria label, link  
PassA "click here" link with aria-labelledby attributeReadingLink click here, this is an aria labelled by  
PassA "click here" link with aria-describedby attributeReadingLink click here, this is an aria described by  
PassA "click here" link with aria-describedby attributeTabbingClick here link, this is an aria described by  
PassLayout table with single cellReadingThis is some text.Treated as a layout table.  
PassLayout table with role presentationReadingExample. Navigation. Links. Content.Table treated as layout table - not announced as table.  
BetterData 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.  
PassData 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.  
PassData table with CAPTION and THReadingTable with two rows and two columns, data table caption. Row one column one, morning. Column two afternoon. Row two, morning, column one, free. Afternoon, column two, busy.  
PassData 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.