2

I'm reading through the WAI-ARIA specs and they state "The main role is a non-obtrusive alternative for 'skip to main content' links".

Now, I've never heard this, and the first few Google results I've seen are either out-of-date or point right back to the spec. Is there enough (any?) support among accessibility tools to consider phasing out "skip to content" links when a main role is present?

James Beninger
  • 2,277
  • 2
  • 18
  • 28
  • 1
    Never noticed that point before, it was interesting! I mean, it doesn't surprise me, you can't even answer simple questions like [does a placeholder without a label on an input pass WCAG](https://stackoverflow.com/a/64435051/2702894)! due to how guidance contradicts itself Thanks for pointing it out! – GrahamTheDev Jun 14 '21 at 19:52
  • 1
    Run the free app NVDA and use the key command "D" to skip to regions. It's not a direct skip to main, but it does get you there. I'd say a Skip link would do this more efficiently, and I've heard multiple presenters (all blind) say they want a way to get to main content in one click. https://webaim.org/resources/shortcuts/nvda – Nathaniel Flick Jun 14 '21 at 22:42

1 Answers1

3

What would a keyboard user who doesn't use Assistive Tech do?

I personally think this is just poorly worded and is trying to say that it offers an alternative way to navigate for Assistive Tech that doesn't intrude on normal operations (as screen reader users for example rarely use Tab and are more likely to navigate my sections or headings and then by links...which would catch skip links obviously).

If all else fails or advice seems to conflict, you should always follow advice in WCAG over WAI-ARIA spec anyway and WCAG is pretty clear that skip links are a level A requirement.

And if you still aren't sure - go user experience over guidance and compliance every time!

Skip links offer a much better user experience to keyboard only users without assistive tech and have very little impact on screen reader users so use them.

As a final note on this - it is 2021 - unless you are supporting IE8 or older (and even I don't advocate for that sort of madness!) you shouldn't need role="main" and instead just use a <main> element.

GrahamTheDev
  • 22,724
  • 2
  • 32
  • 64