User agent reliability for JAWS Firefox Screen reader compatibility

Last updated: October 16, 2016

Shows how well JAWS Firefox supports ARIA and WCAG sufficient techniques.

Latest version tested

JAWS 17.0.2619 with FF48

Reliability trend

100%80%60%40%20%0%201369%201477%201581%201681%

Failing tests

 TestModeWhat the user hearsNotes
FailAPPLET with ARIA-LABEL attributeReading Nothing Nothing voiced for applet - no indication it exists
FailAPPLET with ARIA-LABELLEDBY attributeReading Nothing Nothing voiced for applet - no indication it exists
WorseAPPLET inside FIGURE with FIGCAPTION elementReading Nothing Nothing voiced - caption not read, and applet ignored
WorseEMBED inside FIGURE with FIGCAPTIONReadingSmall dot MP4 frame. Video start. Play button. Mute button. Video end. Small dot MP4 frame end.Embed object filename read out, figure caption not read.
WorseOBJECT with fallback contentReading Nothing Nothing voiced for object - no indication it exists
WorseOBJECT with ARIA-LABEL attributeReading Nothing Nothing voiced for object - no indication it exists
FailOBJECT with ARIA-LABELLEDBY attributeReading Nothing Nothing voiced for object - no indication it exists
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
WorseVIDEO with ARIA-LABEL attributeReading Nothing Nothing voiced for video - no indication it exists
FailVIDEO with ARIA-LABELLEDBY attributeReading Nothing Nothing voiced for video - no indication it exists
FailBUTTON wraps IMG with aria-labelledbyReadingUnlabeled one buttonReads "unlabeled one button" without saying what button does.
FailBUTTON wraps IMG with aria-labelledbyTabbingTab, unlabeled one buttonReads "unlabeled one button" without saying what button does.
FailIMG with FIGCAPTIONReading Nothing Caption not read, and image ignored
FailAREA with ALT attributeReadingGraphic, this is alt text. Graphic, this is left alt text. Graphic, this is right alt textNo link role read out - no indication graphics are links.
FailAREA with TITLE attributeReadingGraphic, this is alt text. Graphic, left underline arrow dot HTM. Graphic, right underline arrow dot HTM.Reads out URL instead of title, and no indication of links
FailAREA with aria-label attributeReadingGraphic, this is alt text. Graphic, this is left aria label text. Graphic, this is right aria label textNo indication that areas are links
FailAREA with aria-labelledby attributeReadingGraphic, this is alt text. Graphic, this is left aria labelled by text. Graphic, this is right aria labelled by textNo indication that graphic areas are links

Passing tests

 TestModeWhat the user hearsNotes
PassARIA role=headingHeadingFirst level heading, heading level 1. Second level heading, heading level 2.  
PassHeading is IMG with ALTHeadingSecond level alt, heading level 2, graphic.  
BetterAPPLET with fallback contentReadingFallback content for applet  
BetterEMBED with ARIA-LABEL attributeReadingAria label for embed frame. Video start. Play button. Mute button. Video end. Aria label for embed frame end.  
BetterEMBED with ARIA-LABELLEDBY attributeReadingThis is ARIA-LABELLEDBY text frame. Video start. Play button. Mute button. Video end. This is ARIA-LABELLEDBY text frame end.  
BetterIFRAME with fallback contentReadingExample target, frame. This is an, link, example hyperlink, in the target page. Example target frame end.Reads out title tag of frame source page, and doesn't read out alternative content.  
PassIFRAME with fallback contentTabbingTab, frame, example target. Tab, example hyperlink, link.Reads out title tag of frame source page.  
PassIFRAME with titleReadingThis is an IFRAME title, frame. This is an, link, example hyperlink, in the target page. This is an IFRAME title, frame end.  
BetterIFRAME with titleTabbingTab, this is an IFRAME title frame, this is an IFRAME title. Tab, example hyperlink, link.  
BetterABBR with titleReadingEt ceteraABBR expansion read (by default) in screen reader, available to sighted users as dotted underline tooltip links in browser.  
PassBUTTON wraps only an IMG with an ALT attributeReadingThis is image alt, button  
PassBUTTON wraps only an IMG with an ALT attributeTabbingTab, this is image alt, button  
PassBUTTON wraps IMG with TITLE attributeReadingThis is image title, button  
PassBUTTON wraps IMG with TITLE attributeTabbingTab, this is image title, button  
PassBUTTON wraps IMG with aria-labelReadingThis is image aria label, button  
PassBUTTON wraps IMG with aria-labelTabbingTab, this is image aria label, button  
PassBUTTON with TITLE wraps IMG with null ALTReadingThis is button title, button  
PassBUTTON with TITLE wraps IMG with null ALTTabbingTab, this is button title, button  
PassBUTTON with aria-label wraps IMG with null ALTReadingThis is button aria label, button  
PassBUTTON with aria-label wraps IMG with null ALTTabbingTab, this is button aria label, button  
PassINPUT type=image with ALT attributeReadingThis is image button alt text, button  
PassINPUT type=image with ALT attributeTabbingTab, this is image button alt text, button  
PassINPUT type=image with TITLE attributeReadingThis is image button title text, button  
PassINPUT type=image with TITLE attributeTabbingTab, this is image button title text, button  
PassINPUT type=image with aria-label attributeReadingThis is image button aria label text, button  
PassINPUT type=image with aria-label attributeTabbingTab, this is image button aria label text, button  
PassINPUT type=image with aria-labelledby attributeReadingThis is image button aria labelled by text, button  
PassINPUT type=image with aria-labelledby attributeTabbingTab, this is image button aria labelled by text, button  
BetterINPUT type=text with aria-describedby attributeReadingFirst name. Blank edit, first name, edit, a bit of instructions for this field linked with aria describedby  
PassINPUT type=text with aria-describedby attributeTabbingTab, first name, edit, a bit of instructions for this field linked with aria describedby, type in text  
PassINPUT type=text with TITLE attributeReadingEnter search text. Blank, edit, enter search text, edit, type in text.  
PassINPUT type=text with TITLE attributeTabbingTab, enter search text, edit, type in text  
PassINPUT type=text with aria-label attributeReadingEnter search text. Blank, edit, enter search text, edit, type in text.  
PassINPUT type=text with aria-label attributeTabbingTab, enter search text, edit, type in text  
PassINPUT type=text with aria-labelledby attributeReadingEnter search text. Enter search text. Blank, edit  
PassINPUT type=text with aria-labelledby attributeTabbingTab, enter search text, edit, type in text  
PassINPUT type=text with LABEL FORReadingEnter search text. Blank, edit, enter search text, edit, type in text.  
PassINPUT type=text with LABEL FORTabbingTab, enter search text, edit, type in text  
PassINPUT type=text inside LABEL with text before controlReadingEnter search text. Blank edit, enter search text, edit, type in text  
PassINPUT type=text inside LABEL with text before controlTabbingTab, enter search text, edit, type in text  
PassINPUT type=text inside LABEL with text after controlReadingBlank edit, enter search text, edit, type in text. Enter search text.  
PassINPUT type=text inside LABEL with text after controlTabbingTab, enter search text, edit, type in text  
PassINPUT type=text inside LABEL with text before and after controlReadingEnter search text. Blank edit, enter search text, blanks not allowed, edit, type in text. Blanks not allowed  
PassINPUT type=text inside LABEL with text before and after controlTabbingTab, enter search text, blanks not allowed, edit, type in text  
PassFIELDSET containing linksReadingLegend for enclosed links. Link home. Link about. Link contact.  
PassFIELDSET containing linksTabbingLegend for enclosed links, home, link. About, link. Contact, link.  
PassYes/No radio buttons inside FIELDSETReadingI agree to terms and conditions. Radio button checked, yes, one of two. Radio button not checked, no, two of two. Sign me up to the newsletter. Radio button checked, yes, one of two. Radio button not checked, no, two of two.  
PassYes/No radio buttons inside FIELDSETTabbingI agree to terms and conditions, yes, radio button checked, one of two. Sign me up to the newsletter, yes, radio button checked, one of two.  
PassIMG with null ALT attributeReading Nothing Ignored as expected  
PassIMG with ALTReadingGraphic, this is alt text  
PassIMG with TITLEReadingGraphic, this is title text  
PassIMG with aria-labelReadingGraphic, this is an aria label  
PassIMG with aria-labelledbyReadingGraphic, this is an aria labelled by. This is an aria labelled by  
BetterAREA with ALT attributeTabbingThis is left alt text, image map. This is right alt text, image map  
BetterAREA with TITLE attributeTabbingThis is alt text graphic, this is left title text, image map. This is right title text, image map.  
BetterAREA with aria-label attributeTabbingThis is alt text, graphic, this is left aria label text, image map. This is right aria label text, image map.  
BetterAREA with aria-labelledby attributeTabbingThis is alt text graphic, this is left aria labelled by text, image map. This is right aria labelled by text, image map.  
PassA link wraps IMG with ALTReadingLink graphic, this is a link alt  
PassA link wraps IMG with ALTTabbingThis is a link alt, link graphic  
PassA link wraps IMG with TITLEReadingLink graphic, this is an image title  
PassA link wraps IMG with TITLETabbingThis is an image title, link graphic  
PassA "click here" link with TITLE attributeReadingLink, click here  
BetterA "click here" link with TITLE attributeTabbingClick here, link, this is a link title  
BetterA "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, this is an aria labelled by. This is an aria labelled by.  
PassA "click here" link with aria-labelledby attributeTabbingThis is an aria labelled by, link  
PassA "click here" link with aria-describedby attributeReadingLink, click here. This is an aria described by.  
BetterA "click here" link with aria-describedby attributeTabbingClick here, link, this is an aria described by.aria-describedby is read when tabbing  
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 gridReadingGrid 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.Text in brackets is only spoken when Ctrl+Alt+Numpad+5 pressed.  
BetterData table with SUMMARY and THReadingSummary colon, data table summary. Table with two columns and two rows. 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).  
BetterData table with CAPTION and THReadingTable 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).  
PassData table with role rowheader headers but no THReadingTable with two columns and two rows. Morning. Afternoon. Free. Busy.Reads cell headers using Ctrl+Alt+5  
BetterData table with TH cell headersReadingTable with two columns and two rows. Morning. Afternoon. Free. Busy.Reads cell headers using Ctrl+Alt+5  
PassData table with TH row/columns headers with SCOPEReading 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.  
BetterData table with TD HEADERS attributeReading 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). Blank (column 1, row 2, homework, blank). One (column 2, row 2, exams, one). Two (column 3, row 2, exams, two). Final (column 4, row 2, exams, final). One (column 5, row 2, projects, one). Two (column 6, row 2, projects, two). Final (column 7, row 2, projects, final). Fifteen percent (column 1, row 3, homework, fifteen percent). Fifteen percent (column 2, row 3, exams one, fifteen percent). Fifteen percent (column 3, row 3, exams two, fifteen percent). Twenty percent (column 4, row 3, exams final, twenty percent). Ten percent (column 5, row 3, projects one, ten percent). Ten percent (column 6, row 3, projects two, ten percent). Fifteen percent (column 7, row 3, projects final, fifteen percent). Headers associated with the cell read out when Ctrl+Alt+Numpad+5 pressed.