Let's say I have a static website which I try to make accessible.

To this end, I include a "Skip to main content" link at the top.

I also want people to know what they're getting into, so I have a disclaimer message at the top.

The disclaimer message includes a JS-driven "hide" button, but this is not accessible (or visible) to users without JS.

Which do I put first, the link to #main, or the disclaimer message?

(goal 1) I want someone who is a new visitor to the site, with JS disabled, using TTS, to see the disclaimer first.

(goal 2) But if they've been before, It probably won't be helpful for them to hear the disclaimer every time they open a new page.

Is it possible to accomplish both goals?

If it wasn't static, and included a server-side element, I could have the {hide} link be server-side cookie-based, but that is not the case.

Edit: There was a comment, which I now regret flagging, saying that "99.999999% of users" (a statistic I question) have JS enabled, implying that the other 0.000001% do not matter. I disagree with this assessment, because I strongly believe in my goal of accessibility to all 100% of users visiting my site. While perhaps it is never attainable, I will not stop trying.

2 Answers

cjl750 On Best Solutions

Is it possible to accomplish both goals?

Since it sounds like the only tools available to you in this case are HTML and CSS, I would say no, it's not. So with that in mind…

I would add the skip link first. You could place the disclaimer between your skip link and your navigation. Though your disclaimer would be repeated on every page, it'd be no different than a nav bar at the top of your page that the user would have to listen to every time – that's why you have the skip link in the first place.

TTS users should be plenty aware that they may be missing important information if they click that link. I'm no legal expert, but I'd be willing to bet that you (or your company) are not going to be suddenly liable for damages because the disclaimer was not the literal first thing a TTS user hears when entering your website.

Adam On

with JS disabled, using TTS,

100,1% (*) of users using text-to-speech do use Javascript. This includes blind people, people with vision loss, people with cognitive disorders, illiterate people or non native speakers, ...

Also note that, among them, a large part of people with disabilities will view (visually) your webpage. The "skip link" is also useful for people with physical disabilities when mouse navigation is complicated (parkinson disease, hemiplegia, ...).

The other ones (blind people) relying only on audio will not view your webpage visually but will still use a javascript compliant screenreader (Jaws, NVDA, Chromevox, VoiceOver, ...).

For instance, you can see WebAim survey where JavaScript was enabled in the browsers of 100% of respondents.

(*) The 0,1% extra is because Javascript can help improving accessibility.