readium / readium-css

🌈 A set of reference stylesheets for EPUB Reading Systems, starting with Readium Mobile
https://readium.org/readium-css/
BSD 3-Clause "New" or "Revised" License
90 stars 20 forks source link

Add a section/note about vestibular disorders in a11y baseline doc #57

Closed JayPanoz closed 5 years ago

JayPanoz commented 5 years ago

This issue originated in Architecture.

I was reminded of this by discovering the article “Your interactive makes me sick”, which will make the issue way more articulated that I could ever articulate it myself.

Summary

There’s an a11y “issue” which is quite unknown, but may impact a lot of people, either temporarily or permanently: vestibular disorders.

In other words, some interactions can make the user dizzy, uneasy, and in some cases ruin her/his entire day, because it feels like you can’t keep balance when walking or even staying up, or feel vertigo.

The biggest issue

Because of difficulties posed by accurately diagnosing and reporting vestibular disorders, statistics estimating how common they are, how often they occur, and what social impacts they have range widely.

So, disclaimer, I can confirm that since I suffered from such disorders a few years ago, it suddenly appeared and then 6 months later, it was over. No doctor could explain it nor why. All I know is that one morning I woke up not super well, an animation on a web site ruined my day, and it keep up going like that for months. Some apps had simply become unusable while the web had become a landmine… and then it vanished and that was over. But some people have to live with it for their whole life.

This is not uncommon BTW, this even tends to be the norm when you’re starting to do some research, as there are lots of people who suffer from vestibular disorders but don’t know why and nobody can tell them, despite meeting a lot of doctors and specialists. Besides, effects range so widely that it makes it even more complicated to diagnose.

Impacts

So this obviously impacts anything related to motion (animations, transitions, etc.). For instance, starting iOS7, some users had to set the “Reduce Motion” pref in a11y settings.

So that’s up to apps, but I can think of page-transition animations which should probably be disableable for instance, so it may impact r2-glue-js as well.

There’s also the accessibility hazards at the OPF level. I’m not particularly optimistic a lot of content providers use that, but I know I’ve been using it since I had to cope with vestibular disorders myself and, yeah, as an author I’d like that to be taken into account if the meta is present in the EPUB file (e.g. a popup telling the user there is motion simulation in the publication and bla bla bla).

Options

At the very minimum, allow the user to disable animations which may create effects (e.g. page-transition animation). But everything else will vary from implementation to implementation.

On iOS/Mac, there’s a system setting which has been implemented and Safari/Webview supports the prefers-reduced-motion media query to design accordingly.

There’s little we can do about content, but we can at least promote what Mozilla got wonderfully right from the start i.e. an overlay asking users to set their preference.


I’m taking the liberty to ping @rdeltour to see if he can add to this issue and/or raise another one and/or ping others directly – or not – impacted. The more we can do to grab implementers’ attention, the better.

rdeltour commented 5 years ago

With the disclaimer that I'm not an expert in this specific issue, I think what you suggest is a great start!

danielweck commented 5 years ago

Thank you for filing this Jiminy. I added a "reduce motion" boolean setting ; false by default ; in r2-navigator-js (when true, the animated transitions normally used in paginated and scroll views are bypassed). I added a UI switch in r2-testapp-js (see attached screenshot).

danielweck commented 5 years ago

r2-testapp-js screenshot:

readiumcss_reducemotion__

JayPanoz commented 5 years ago

Thanks @danielweck that was fast!

A possibly good news for you in the longer term: chromium has just published an intent to ship and implement the dedicated media feature.

And here’s the original issue.

Both Firefox and Safari already support it so I’m expecting this to ship quickly – but there’s obviously the Electron “delay” to take into account.

The prefers-reduced-motion CSS media feature is used to detect if the user has requested that the system minimize the amount of animation or motion it uses. See MDN. So you could use that and check if the value is reduce to automatically switch this on, enforcing the global preference set @ the OS level.

danielweck commented 5 years ago

I actually have the "reduce motion" activated on my computer (MacOS) :) Thanks for the heads-up about OS-level detection.

JayPanoz commented 5 years ago

BTW that begs the question of authoring as well, I guess.

We (probably/surely) don’t want to tamper with EPUB contents ourselves but wouldn’t that be a possible candidate for best practice, at least in http://kb.daisy.org/publishing/?

Thinking about interactive books with animations, etc.