Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Overall, you should not need to trigger a 're-read', and depending on your UI that might not be a good thing anyway.</p> <p>My experience has been with angular.js (as an accessibility person rather than the developer), and our overall approach was to manage the focus rather than trigger a re-read. (We do extensive accessibility testing.)</p> <p>The key thing from a UI point of view (primarily for screen reader users) is that selecting a link (e.g. <code>about.html</code>) should take you somewhere.</p> <p>In this case the appropriate place to put the focus would be the top of the content area of the about 'page', hopefully an <code>&lt;h1&gt;</code>.</p> <p>In order for that to work the target element should be focusable via a script, so probably needs <code>tabindex</code> unless it is a link or form control:</p> <pre><code>&lt;h1 id="test" tabindex="-1"&gt; </code></pre> <p>The <code>-1</code> means it is <em>not</em> in the default tab order, but is focusable via a script. See more at <a href="http://www.w3.org/TR/wai-aria-practices/#focus_tabindex">WAI-ARIA authoring practices</a>.</p> <p>Then at the end of the function that loads the new content, including the tabindex attribute, add something like:</p> <pre><code>$('#test').attr('tabindex', '-1').css('outline', 'none'); $('#test').focus(); </code></pre> <p>When adding <code>tabindex</code> dynamically it is best to do so in a line before the <code>focus()</code> function otherwise it may not work (I remember that from testing with JAWS).</p> <p>To test this I would use either:</p> <ul> <li>NVDA &amp; Firefox, Windows</li> <li>Jaws &amp; IE, Windows</li> </ul> <p>It is also good to test with VoiceOver on Safari/OSX, but that works differently and may not hit the same issues as a windows based screen reader.</p> <p>You will hit a lot of issues with Chrome/NVDA as that is not supported very well, and end-users are very unlikely to use that. IE is ok with NVDA, but <a href="http://community.nvda-project.org/wiki/ApplicationSupport">Firefox is best</a>.</p> <p>Overall, it is worth getting to know the WAI-ARIA authoring practices, particularly <a href="http://www.w3.org/TR/aria-in-html/">Using ARIA in HTML</a>. Even though you are using a JS app, the browser (and therefore screen reader) is interpreting the resulting HTML so that advice is still relevant.</p> <p>Lastly, if you are updating page content <strong>without</strong> the user pressing space/enter to activate something, you might find that JAWS/NVDA do not know about the new content as their 'virtual buffer' has not updated. In that case, you might need to add a <a href="http://juicystudio.com/article/making-ajax-work-with-screen-readers.php">JS shim to make them update</a>, but only do that if you run into problems in testing, it should not be a global patch.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload