开发者

Site nav when javascript is disabled

We have a nav that expands on rollover (based on this code: http://www.dynamicdrive.com/dynamicindex1/droptabmenu.htm).

First, should we have a no-javascript version of the nav?

If yes, what is the best way to do s开发者_JS百科o?


Yes you should always have a non-javascript version of your navigation.

The best way to do this is to apply any styles that hide sub-menus with javascript - so if the javascript isn't run the whole menu will be visible.

The HTML for the menu you've linked to looks fine - <ul>s and <a>s - nice and easy for a spider or non-javascript user to read.


It's always a good idea to have a no-Javascript version of everything.

Search engine robots usually do not interpret Javascript, so your pages might not be indexed if they can't be reached without Javascript.

A sitemap page that simply has a link to every static page on your site is the easiest way to make sure everyone can get to anywhere.


You may want to use unobtrusive javascript, which basically means have no javascript in your html page, just load the javascript files.

Now, if you start with a menu on the left, for navigation, using <li> and anchor tags then you can have some navigation without javascript.

So, if your javascript runs, the first thing it should do, when the dom tree is ready, is to set display: none on the navigation div and put in the new, more interactive navigation bar.

This way you can see how it works without any javascript.

Or, you can have a message telling them that javascript is required and do nothing else, but this would also be hidden as above.

I prefer to have things work, even if it has less functionality, without javascript, when possible.


Don't get me wrong: It's a good idea to support browsers that don't have JavaScript turned on, especially for something as simple as a menu.

However, when a project doesn't have it in the budget, or the application that you're writing is deeply dependent on JavaScript, it just doesn't make sense to support it.

Statistic from w3c and the counter indicate that 93% to 95% of users have JavaScript enabled. Now, mind you that this is a global demographic. To really determine if it's worth your time and money, it would behoove you to do your own statistics to determine what percentage of your traffic/demographic has JavaScript enabled.

As a side note: for reasons similar to why people are moving away from supporting IE 6, my company is also moving away from noscript support. Especially in large scale RIA's, it's just not practical to write the same thing twice. Maintaining two code bases for one project is not my idea of a good time. But of course, this is always based on the client and the target demographic.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜