Interactive iframe
with negative tabindex
and no accessible name
Screen reader compatibility
Expected Result: causes problems in some screen readers
Actual Result: causes problems in 22 screen reader / browser combinations
For expected failures, the results show which AT combos the failures affect. Results are recorded from the user's viewpoint, so describe the user impact of authoring errors.
Tests if tabindex=-1 affects accessibility tree.
Code used for this test:
<iframe src='1234.html' width='400' height='100' tabindex='-1'> </iframe>
Change History
Last updated: November 26, 2024
NVDA with Chrome Causes problems in NVDA 2024.4
NVDA with FF Causes problems in NVDA 2024.4
JAWS with Chrome Causes problems in JAWS 2024.2409.2
JAWS with FF Causes problems in JAWS 2024.2409.2
VoiceOver macOS Causes problems from VoiceOver macOS 13.6 to VoiceOver macOS 14.6
VoiceOver iOS Stable - OK from VoiceOver iOS 16.6 to VoiceOver iOS 17.7
Screen reader | Browser | Mode | Notes | What the user hears |
---|---|---|---|---|
![]() | Chrome 131 | Reading | Frame, this a link, example hyperlink, in the target page. | |
![]() | Chrome 131 | Tabbing | Skips over focusable link in iframe | |
![]() | FF 128 | Reading | Frame, this a link, example hyperlink, in the target page. | |
![]() | FF 128 | Tabbing | Skips over focusable link in iframe | |
![]() | Edge 131 | Reading | Frame, this a link, example hyperlink, in the target page. | |
![]() | Edge 131 | Tabbing | Skips over focusable link in iframe | |
![]() | Chrome 120 | Reading | Frame, this a link, example hyperlink, in the target page. | |
![]() | Chrome 120 | Tabbing | Skips over focusable link in iframe | |
![]() | FF 115 | Reading | Frame, this a link, example hyperlink, in the target page. | |
![]() | FF 115 | Tabbing | Skips over focusable link in iframe | |
![]() | Edge 120 | Reading | Frame, this a link, example hyperlink, in the target page. | |
![]() | Edge 120 | Tabbing | Skips over focusable link in iframe | |
![]() | Chrome 118 | Reading | Frame, this a link, example hyperlink, in the target page. | |
![]() | Chrome 118 | Tabbing | Skips over focusable link in iframe | |
![]() | FF 102 | Reading | Frame, this a link, example hyperlink, in the target page. | |
![]() | FF 102 | Tabbing | Skips over focusable link in iframe | |
![]() | Edge 120 | Reading | Frame, this a link, example hyperlink, in the target page. | |
![]() | Edge 120 | Tabbing | Skips over focusable link in iframe | |
![]() | Chrome 131 | Reading | This is an. Link, example hyperlink. In the target page. | |
![]() | Chrome 131 | Tabbing | Skips over focusable link in iframe | |
![]() | FF 128 | Reading | role=presentation makes frame seamless | This is an. Link, example hyperlink. In the target page. |
![]() | FF 128 | Tabbing | Skips over focusable link in iframe | |
![]() | Edge 131 | Reading | This is an. Link, example hyperlink. In the target page. | |
![]() | Edge 131 | Tabbing | Skips over focusable link in iframe | |
![]() | Chrome 120 | Reading | This is an. Link, example hyperlink. In the target page. | |
![]() | Chrome 120 | Tabbing | Skips over focusable link in iframe | |
![]() | FF 115 | Reading | role=presentation makes frame seamless | This is an. Link, example hyperlink. In the target page. |
![]() | FF 115 | Tabbing | Skips over focusable link in iframe | |
![]() | Edge 120 | Reading | This is an. Link, example hyperlink. In the target page. | |
![]() | Edge 120 | Tabbing | Skips over focusable link in iframe | |
![]() | Chrome 118 | Reading | This is an. Link, example hyperlink. In the target page. | |
![]() | Chrome 118 | Tabbing | Skips over focusable link in iframe | |
![]() | FF 102 | Reading | role=presentation makes frame seamless | This is an. Link, example hyperlink. In the target page. |
![]() | FF 102 | Tabbing | Skips over focusable link in iframe | |
![]() | Edge 120 | Reading | This is an. Link, example hyperlink. In the target page. | |
![]() | Edge 120 | Tabbing | Skips over focusable link in iframe | |
![]() | Safari 17.6 | Reading | Meaningless frame title read out. | Frame six |
![]() | Safari 17.6 | Tabbing | Skips over focusable link in iframe | |
![]() | Safari 16.6 | Reading | Meaningless frame title read out. | Frame six |
![]() | Safari 16.6 | Tabbing | Skips over focusable link in iframe | |
![]() | Safari iOS 17.7 | Touch | This is an. Example hyperlink, link. In the target page. | |
![]() | Safari iOS 16.6 | Touch | This is an. Example hyperlink, link. In the target page. |
SortSite rules: AccHtmlIframeTabindexInteractive
Test notes
All tests were carried out with screen reader factory settings. JAWS in particular has a wide variety of settings controlling exactly what gets spoken.
Screen readers allow users to interact in different modes, and can produce very different results in each mode. The modes used in these tests are:
- Reading Content read using the “read next” command in a screen reader
- Tabbing Content read using the “tab” key in a screen reader
- Heading Content read using the “next heading” key in a screen reader
- Touch Content read when touching an area of screen on a mobile device
In the “What the user hears” column:
- Commas represent short pauses in screen reader voicing
- Full Stops represent places where voicing stops, and the “read next” or “tab” or “next heading” command is pressed again
- Ellipsis … represent a long pause in voicing
- (Brackets) represent voicing that requires a keystroke to hear