superfish shows and hides UL's and doesn't interact with their children
like you are saying. The exact same markup in YUI example bellow works
perfectly well.......no hacks needed Florent V. wrote: Thanks for this example.there's no doubt in my mind that YUI team hasn't processed all the issues you bring up when making their determinations on structureI don't know if they have. The YUI developers are very capable people, but this does not totally guarantee that YUI is accessible or that they don't get things wrong sometimes. But i can see that they're doing exactly what i'm saying that Superfish should allow.What YUI 3.0 Menu has: ... <li> <a class="yui-menu-label">Submenu title (e.g. category name)</a> <div class="yui-menu"> <div class="yui-menu-content"> <ul> <li class="yui-menuitem">...</li> <li class="yui-menuitem">...</li> </ul> </div> </div> </li> ... This is perfectly fine. There are two containing DIVs, which has no semantic and accessibility impact (DIVs are neutral). Then the content of the submenu, which in this case is a UL list with one LI for each submenu item. Nothing wrong here. This is exactly the structure i had to code, and why i had to hack Superfish which doesn't allow it. ;) So what i had to code would fit perfectly with this YUI widget: ... <li> <a class="yui-menu-label">Category name</a> <div class="yui-menu"> <div class="yui-menu-content"> <p>Short description of the category's content</p> <ul> <li class="yui-menuitem">...</li> <li class="yui-menuitem">...</li> </ul> </div> </div> </li> ... Meanwhile, what you said was fine (and i believe is not, though it's not a BIG issue) is, using similar classes: ... <li> <a class="menu-label">Category name</a> <ul class="menu"> <li class="menu-content"> <p>Short description of the category's content</p> <ul> <li class="menuitem">...</li> <li class="menuitem">...</li> </ul> </li> </ul> </li> ... (Or maybe with a DIV between the container LI and the submenu's content, to avoid problems with current Superfish inner selectors.) Regarding higher powers, i should consult with accessibility experts i know about using a one-item unordered list as a container (just because Superfish requires it...). It's not elegant, and i suspect it might cause problems to some screen-reader users, but they may be able to confirm how significant those problems would be. Anyway, being forced to use subpar HTML code because a JS script requires some particular tags is never a good thing. In this case the consequences may be benign (or not...), in other cases they may be quite bad. |
- [jQuery] Superfish plugin: some limitations that could be addre... Florent V.
- [jQuery] Re: Superfish plugin: some limitations that could... Charlie
- [jQuery] Re: Superfish plugin: some limitations that c... Florent V.
- [jQuery] Re: Superfish plugin: some limitations th... Charlie
- [jQuery] Re: Superfish plugin: some limitation... Florent V.
- [jQuery] Re: Superfish plugin: some limit... Charlie
- [jQuery] Re: Superfish plugin: some l... Florent V.
- [jQuery] Re: Superfish plugin: so... Charlie
- [jQuery] Re: Superfish plugin: so... Florent V.
- Re: [jQuery] Re: Superfish plugin... Charlie
- [jQuery] Re: Superfish plugin: so... Florent V.