I am a firm believer in un-obtrusive JavaScript (it doesn’t remove functionality if you don’t have JS enabled) and Facebook drop down menus are coded in JS only. Therefore the menus don’t work for no-JS users, this is a accessibility nightmare*. There is a <div> tag that contains the drop down information that has a inline style of “display:none;â€. By default the arrow next to dropdown links is always displayed, which is applied by a class of “with_arrowâ€. This needs to be addressed because when there is no JS enabled you cannot get to the drop down menu even though the drop down arrow suggests you can. My suggested solution is: Every page * Remove the drop-down <div> from the HTML * Remove the “with_arrow†class from the nav * Add a JavaScript function that attaches the “with_arrow†class to the menu <div> and adds the drop-down <div> into the HTML Section pages (in this example “Friendsâ€) * On the friends page add a sub-nav which contains all the contents of drop-down <div> * Add a JavaScript function that “display:none†the sub-nav This would mean that when a non-JS enabled user clicks on the friends button they would navigate to a page with a sub-level of navigation that allows them to get to exactly the same pages as JS enabled users (and it would have no effect on navigation for JS enabled users). Search box The search box on every page has another little drop-down-esque menu to allow users to search different things. Again this is JS only and this can be made more accessible by doing the following: Drop-down * Remove the link with the JS dropdown * Replace it with a <select> form item with the same options * Add a JS function which replaces the <select> with the current drop-down Search input and button * Add a submit button in the HTML after the input box * Add a JS function that “display:none†the button This will mean that non-JS enabled users will be able to search within the areas that JS enabled users can. Again it has no effect to JS enabled users. News feed preferences To edit your preferences for the news feed (logged in users home page), there is a rather spiffing bunch of sliders. Again… you guessed it, JS only. Now, I hate using my own work as an example (alright I don’t, I love tooting my own trumpet) but I’m going to now. I’m really not dissing Facebook, they do a lot of things right (like email updating, simple interface, etc.), I just wish they could have spent a bit of time getting the site working first without JS and then adding in the fluffy nice JS features.