Last updated: September 3, 2021

My website!

test

Primary Heading

test

Tabindexed Heading

test

Content goes here, with a link for focus testing.

Test for visually hidden skip link

Oh hi there, also with a link for focus testing.

Results
Works without tabindex -1 target & no JS Works with tabindex -1 target & no JS Focus visible Behavior with active screen reader
Firefox Android (91.1) Viewport scrolls to element Viewport scrolls to element False.
TB focus surrounds the webview
TalkBack moves focus, announces webview, but does not announce the element where focus should have been set.  Swiping left will take a user to the browser chrome. Swiping right will focus the element after the intended skip link target.
Firefox (91.1) True True False.
Focus indicator is not displayed.
JAWS:

activating a skip link results in JAWS re-announcing content such as the page's title, how many regions, headings, links, etc. JAWS VC focus does move to the content and begins auto-reading from there, with default settings (all tests).

NVDA: navigating to main will begin announcing content of main (expected behavior). Skipping to headings announces headings only w/ or w/out tabindex

VO: navigating to main will push VO focus to first child element

IE (11) 2019 test False False True JAWS, NVDA
Safari (14.1.2) True
Navigating to main will push VO focus to first child element
True True VoiceOver
Safari (iOS 13.3.1) True True True True, VO focus moves and reads the target
Chrome/Edge (92) True True True

JAWS, works similar to behavior with Firefox, except that navigating to a tabindex=-1 element it will announce information about that focused element first.

NVDA, VoiceOver
Chrome Android (72) Viewport scrolls to element Viewport scrolls to element False TalkBack (note: when focusing a wrapping element, Talkback will begin announcing content within the wrapper (main in this test) but skip over announcing links.
Edge (44) True True True False, Narrator, NVDA and JAWS VC does not move

Screen readers (IE11 2019 test):

  • NVDA 2018.4.1
  • JAWS 2019

for testing purposes

so, let's not focus on the fact there are two mains here, ok?