RE: collapsible hierarchical menu navigation javascript (accessible)

Thanks for the feedback.

 

> -----Original Message-----

> From: Lee Roberts [mailto:leeroberts@roserockdesign.com]

 

> I used Lynx which doesn't support JavaScript.

 

Haven't tried that one yet.  Thanks for checking it.

 

> On your submit inputs you do not call an action.  That in itself 

> creates bad codes.

 

I'm sorry. I didn't follow this.  Could you rephrase?

 

> Let's look at a piece of your code.

> <input type="image" src="../images/spacer.gif" alt="" 

> onclick="expandNode(this);" /><a href="index.htm" >Chapter 1</a>

 

> To make this accessible, I would add onkeypress or onselect.  Onselect


> would be my choice as it is device independent.

 

I have read about using onkeypress() in JavaScript accessibility
tutorials, and tried experimenting around with that technique, but found
it created more problems than it solved in this particular use case.
Different browsers treat this event differently and this would have led
to convoluted code to work around these issues.  Haven't experimented
around with onselect(), but, on the face of it, it doesn't seem like it
would provide the same functionality, since I am performing no action in
response to a select event.

 

> Due to your JavaScript, machine validators like Bobby will fail your 

> pages.

 

Yes, that is true, but that does not mean the script presents
accessibility challenges.  I have tested it out on at least one screen
reader, JAWS, and it allows full keyboard access.  Onclick() works fine
when used on <image> input elements.

 

> I would also remove the submit images from the subchapter links, if 

> they do not open to further subchapters.

 

I just added them because I thought it would make it easier for
non-coders to use the script if they didn't have to worry about where
they had to include the behavior.  It certainly is not necessary, you're
right.  I should really remove them altogether and just let the script
add them once the page is loaded, as Richard Ishida suggested.

 

> You also need "skip navigation" links.  Tabbing through 40 navigation 

> points on each page was certainly a pain.

 

Ah, but screen readers (JAWS at least) provide the ability to
efficiently navigate list markup, thus the beauty of it.  Still, I guess
those limited to keyboard access who are not using a screen reader might
be inconvenienced.  I guess I should add some skip links.

 

> I would recommend you run it through at least Bobby.  Then I would run


> it through the W3C HTML validator.

 

I ran it through the checkers.  It passes muster on the HTML validator,
and while Bobby, technically, failed it, there is a logical reason why
that shouldn't be taken as the final word.  The main problem is that the
image <input> elements initially have alt attributes set to the empty
string.  However, initially they are just spacer images and are only
changed later to functional images, at which point they are given
meaningful alt values.

 

The only other problem it noted was failure to specify document language
in the <html> element.  I did specify it on the body tag though and have
seen that presented before as adequate.  Is it not?  If it isn't, do I
need to specify the language in the <html> element and the <body>
element, or just the <html> element?

 

> I know what you're trying to achieve and I think it's great.  You just


> have some issues that can be worked out.

 

> I hope this helps.

 

Thanks for taking time to look at it and for your suggestions,
especially about the skip link.  I hadn't thought about Lynx, just the
visually impaired.

 

Rob

 

 

Received on Tuesday, 6 July 2004 15:49:34 UTC