Plugin Directory

Test out the new Plugin Directory and let us know what you think.
!This plugin hasn’t been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Accessible Dropdown Menus

Makes dropdown menus in many WordPress themes keyboard accessible.


Many sites have dropdown menus where the expanding of the links can only be triggered by a mouse hover. This means that for keyboard only users parts of the site are harder or sometimes impossible to reach.

This plugin makes these dropdown menus keyboard accessible. When tabbing through the primary navigation the sub level menus will become visible and users will be able to tab to the lower level links.

The current version has been tested by both sighted keyboard-only users and screen reader users. If it doesn't work for your reader, please let us know!

How it Works:

The plugin uses a combination of CSS and javascript to enable the dropdown menus to be keyboard controlled.

Using the script, whenever a link in the menu gets focus its containing list item (

  • ) is given the necessary class. This enables the new CSS definitions to open any hidden submenus and bring those links into the tabbing order.
  • In the absence of javascript the full submenu lists may not open but the individual sub-links can be tabbed to.


    Current version built and maintained by Amy Hendrix.

    The original version of this plugin was built by Graham Armfield. It is still available at http://www.coolfields.co.uk/2011/12/wordpress-keyboard-accessible-dropdown-menus-plugin-version-0-1/

    The mechanism used in this plugin is based on the same logic used in Blake Haswell's excellent example of a multi-level accessible dropdown menu. You can find it at: http://blakehaswell.com/lab/dropdown/deux/

    Requires: 3.4 or higher
    Compatible up to: 3.6.1
    Last Updated: 4 years ago
    Active Installs: 200+


    5 out of 5 stars


    Got something to say? Need help?


    Not enough data

    0 people say it works.
    0 people say it's broken.