WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: Turbolinks / pushState

for

From: Steve Green
Date: Jun 1, 2013 8:18AM


It would be interesting to see an example of such a site, but all I have found is http://diveintohtml5.info/examples/history/fer.html, in which only a small part of the page is replaced using pushState, which I expect is what it was intended for.

It works ok with JAWS, but the absence of a page reload will undoubtedly leave some users wondering what is happening. In that sense it's no different from any other dynamic content such as hide/reveal or tabbed interfaces.

When the entire body element is replaced the focus will go to the top of the page, which is what users will expect when a new page loads. JAWS will not go into 'read all' mode, which is probably a good thing. It won't read out the new page title because this appears not to be supported at present although the specification supports it. It also won't read the number of heading, links and landmarks, but in my experience most users ignore that.

I would say that this technique is likely to be technically accessible and that the only problem is that screen reader users will take a while to work out why the website is not behaving as expected.

Steve Green
Managing Director
Test Partners Ltd

-----Original Message-----
From: <EMAIL REMOVED> [mailto: <EMAIL REMOVED> ] On Behalf Of Chris Pearce
Sent: 01 June 2013 05:12
To: <EMAIL REMOVED>
Subject: [WebAIM] Turbolinks / pushState

Hi,

The website I'm working on will use Rails Turbolinks:
https://github.com/rails/turbolinks/. Which basically uses HTML5 pushState. So what this means is there's no page refresh just 1 state between all pages, only the HTML body is being updated. This speeds up the website but I'm worried about accessibility esp. how screen reader users go with this setup. Only modern browsers support pushState with non-supporting browsers falling back to normal behaviour i.e. page refreshes.

Be great to get some feedback from anyone who's used this and whether its accessible.
I can't test with NVDA yet as it hasn't been setup.

Cheers,
Chris


Sent from my iPhone