Forum Moderators: open
From those in the know, is it likely safe to use well-coded cross-browser compatible dhtml in menuing these days? I think in old days, the spiders did not like these, right?
Any assessments appreciated!
However, in general all sorts of fancy JS/DHTML stuff is neither SE, nor user friendly. It may look good if you ask a tech geek, but the average user will find it overly hard/complex to use, or will simply find that it malfunctions for whatever reason.
Use JS and DHTML, but use it sparingly. And whenever you do decide to use it, use it to enhance functionality, not replace the basic functionality which was already there. Your users care more about whether it works than how it works.
Of course, your site's functionality shouldn't ever depend on anything javascripted, so the dropdown menu options should just be an aid to users. In other words, make sure that the navigation items present on the drop down menu are also always available on the target page, hardcoded in somewhere so users without javascript can still access the nav items.
With drop menus there are quite different requirements for horizontal/vertical menus, vertical ones are much easier to do the CSS for, the first blobfisk test I did gave me stable 3 level drop menus in a few hours.
The main problem comes from using visibility: versus display: switching, if you can use display it's much easier to do the CSS, but several browsers out there won't do that without display failures.
The cleanest solution by far I've seen is the blobfisk menu, since it relies almost entirely on straight CSS to work, with just the barest javascript for visibility functions and timer functions, but that menu does need some more work before it can be put out for relative javascript newbies, especially on the horizontal CSS, I'm trying to come up with a more user friendly version, with substantially less code on the page and the script, but so far I've only been able to do a horizontal one with table and rows, which I don't like as a forward looking solution.
In general, there seems to be a bit of an unnecessary prejudice against using dhtml on the boards here. Judicious use of CSS and javascript can work very well from an SE point of view, as long as the dhtml is externalised and failsafe methods are used for non-js (and css) users (such as a text-link footer or text link to a sitemap).