3

I am currently attempting to make my application be more user friendly to those with difficulty seeing. As one would expect, I am using JAWS to test my application. Most of the issues I have run in were relatively easy to fix, except I am stumped on one.

In my application, I have advertisements injected via an iframe and I want JAWS to ignore them, but I still want them to display (display:none is out of the question). Is there any way to have JAWS completely ignore an element and all of its children?

I saw a few posts leading towards speak:none, but that does not work. It does seems to ignore the parent div, but it will instead reads the content of the iframe child.

Any tips would be greatly appreciated.

Thank you.

Deduplicator
  • 44,692
  • 7
  • 66
  • 118
Anathema
  • 148
  • 8

3 Answers3

3

Good for you for testing your web application for accessibility.

JAWS already has the feature built-in to ignore ads by temporarily or permanently ignoring inline iframes.

Testing that your site works nicely with that feature toggled should represent the typical experience for a JAWS user.

Banner Ads

If you want JAWS to temporarily ignore banner ads on a page, do the following:

  1. Press INSERT+V.
  2. Press I until you select "Inline Frames Show - On."
  3. Press the SPACEBAR to choose "Inline Frames Show - Off."
  4. Press ENTER.

To have JAWS permanently ignore all inline frames, including banner ads that you might encounter:

  1. In Internet Explorer, press INSERT+F2.
  2. Select Settings Center, and press ENTER.
  3. Focus is in the Search edit box. Type in "ignore inline" without the quotes.
  4. Press DOWN ARROW to move to Ignore Inline Frames in the filtered results of the tree view in Settings Center.
  5. Press SPACEBAR to check or uncheck the check box.
  6. Press TAB to move to the OK button and activate it with the SPACEBAR. The changes are made and saved. Settings Center closes.

The other points mentioned on the above link will give you a good idea of additional bad practices to avoid.

Ciaran
  • 1,904
  • 16
  • 27
  • 1
    Thank you for the response. I understand the user has the ability to ignore iframes, but I don't like that idea. I feel it is up the developer to make the web experience as pain free as possible for the user. Allowing JAWS to have the ability to ignore an element is much more efficient and useful than making it up to the user. – Anathema Jul 15 '11 at 20:08
1

Give the ARIA attribute aria-hidden="true" to the outer div of the iframe. This should ideally hide the the content from JAWS.

Nisse Engström
  • 4,738
  • 23
  • 27
  • 42
-2

Give the aria attribute role="presentation" to any element you want ignored. Jaws will not read them.

arunondeck
  • 368
  • 6
  • 16