Solved

Need help interpreting a 508 compliance issue regarding JavaScript onChange event handler

Posted on 2009-06-28
6
1,052 Views
Last Modified: 2013-11-10
508, paragraph l, says:

"onChange: This event handler is very commonly used for triggering JavaScript functions based on a selection from within a <select> tag. Surprisingly, it presents tremendous accessibility problems for many commonly used screen readers and should be avoided. Instead, web developers should use the onClick event handler (associated with a link or button that is adjacent to a <select> tag) to accomplish the same functions."

I use onchange to populate a dynamic list box of states based on the selection of country, like this:
      <select name="country" id="country" onchange="MM_callJS('setDynaList(0,arrDL1)')">
      
It's not clear to me how I would do this as 508 suggests, specifically: "web developers should use the onClick event handler (associated with a link or button that is adjacent to a <select> tag) to accomplish the same functions".

Any ideas? I know that 508 was written a long time ago - is this still an issue for "modern" screen readers?
0
Comment
Question by:alicia1234
6 Comments
 
LVL 18

Accepted Solution

by:
Pawel Witkowski earned 250 total points
ID: 24734170
From what I known it is no longer an issue. In mine opinion you can use onchange without any problems. If you really woried about that, you can try:

<select>
<option onclick="selected=1">one</option>
<option onclick="selected=2">two</option>
<option onclick="selected=3">three</option>
</select>
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 24734729
What browsers have an onClick event on options?
0
 
LVL 18

Expert Comment

by:Pawel Witkowski
ID: 24734789
Good point, works only in Opera/Firefox.

You can then try delegate onclick to <select> element and then check index of selected element o_O
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 

Author Comment

by:alicia1234
ID: 24736020
Thanks for the info so far. wilq32 said "From what I know it is no longer an issue." I'd love to know that for sure and then I wouldn't even worry about it.
0
 
LVL 18

Assisted Solution

by:Pawel Witkowski
Pawel Witkowski earned 250 total points
ID: 24736049
Maybe this discussion will help your needs:

http://www.webaim.org/discussion/mail_thread.php?thread=3594
0
 
LVL 9

Expert Comment

by:Bob Stone
ID: 24740640
Here is a time limited eval software that will test 508 compliance of a web site
http://www.powermapper.com/products/sortsite/ads/acc-section-508.htm?gclid=CNzUy4K8sJsCFZJM5QodbU0oqg 
0

Featured Post

Problems using Powershell and Active Directory?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Grunt Copy file to another destination. 1 37
how can i count words? 2 44
Passport Expiry 3 44
Button and js nou working 3 8
Preface This is the third article about the EE Collaborative Login Project. A Better Website Login System (http://www.experts-exchange.com/A_2902.html) introduces the Login System and shows how to implement a login page. The EE Collaborative Logi…
What is Node.js? Node.js is a server side scripting language much like PHP or ASP but is used to implement the complete package of HTTP webserver and application framework. The difference is that Node.js’s execution engine is asynchronous and event…
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question