Skip to content
  • Home
  • About Léonie
  • On other websites

Jaws, IE & the Forms region bug

31 July 2013
  • Code things

There is an unusual problem with Jaws and Internet Explorer that causes the word "region" to be announced before every field in a form. Fortunately there is a workaround until the problem itself is resolved.

The situation arises when you have a form inside a container with role="main" applied to it. For example:

Code language
HTML
<div role="main">
  <form method="post">

    <div>
      <label for="username">Username: </label><br> 
      <input type="text" id="username">
    </div>

    <div>
      <label for="password">Password: </label><br>
      <input type="password" id="password">
    </div>

    <div>
      <input type="submit" value="Log in">
    </div>

  </form>
</div>

The problem occurs in Internet Explorer 8, 9 and 10 (and possibly older versions too). It first appeared with Jaws 13 and persists in Jaws 14.

In an added twist the problem only happens when Jaws verbosity is set to beginner (the default) or intermediate. If verbosity is set to advanced the erroneous announcements don't happen.

There is a workaround that stops Jaws from doing this. Ordinarily it's good to be cautious about hacking around user agent bugs, but in this case it isn't too much of a dirty hack. Just add role="form" to the form element.

Code language
HTML
<div role="main">
  <form role="form" method="post">
    ...

  </form>
</div>

It shouldn't be necessary to do this. The role maps to the element natively in HTML anyway. In this case though, adding role="form" directly in the HTML doesn't break the natural semantics of the page, and it won't cause any backwards/forwards compatibility issues either.


Tagged with

  • Screenreaders
  • Aria
  • Html

Comments

Tags

  • Standards
  • Screen readers
  • HTML
  • ARIA
  • Dinner
  • Linux
  • Apps
  • Windows
  • Lunch
  • Games
  • Philosophy
  • Accompaniments
  • Breakfast
  • Web standards food
  • Pudding
  • JavaScript
  • Schema
  • CSS
  • Web Speech API
  • Drinks
  • SVG
  • WebVR
  • Artificial Intelligence
  • Privacy
  • Voice
  • AI

Categories

  • Web life
  • Code things
  • Recipe book
  • Desktop things
  • Real life
  • Mobile things

Talks

  • 2021
  • 2020
  • 2019
  • 2018
  • 2017
  • 2016
  • 2015
  • 2014
  • 2013
  • 2012
  • 2011

Follow me on:

  • Bluesky
  • Mastodon
  • GitHub
  • LinkedIn

© Léonie Watson Carpe diem