All Projects → argenteum → accessible-nav-wp

argenteum / accessible-nav-wp

Licence: GPL-2.0 License
An accessible menu for WordPress theme development

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to accessible-nav-wp

Js Offcanvas
A lightweight, flexible jQuery off-canvas navigation plugin which lets you create fully accessible sidebar or top/bottom sliding (or push) panels with keyboard interactions and ARIA attributes.
Stars: ✭ 272 (+946.15%)
Mutual labels:  navigation, accessibility
React Command Palette
An accessible browser compatible javascript command palette
Stars: ✭ 140 (+438.46%)
Mutual labels:  navigation, accessibility
a11y-dropdown
An experiment to improve accessible drop-down menus for WordPress themes.
Stars: ✭ 18 (-30.77%)
Mutual labels:  navigation, accessibility
navigation2 tutorials
Tutorial code referenced in https://navigation.ros.org/
Stars: ✭ 60 (+130.77%)
Mutual labels:  navigation
indicator-xkbmod
Simple Ubuntu keyboard modifiers indicator
Stars: ✭ 16 (-38.46%)
Mutual labels:  accessibility
Site
Israel Hiking Map has maps, route planning, and travel information for Israel. This repository holds the files needed for running the Israel Hiking Map site and apps.
Stars: ✭ 52 (+100%)
Mutual labels:  navigation
trueChart-Menubar4Sense
MENUBAR as visualization extension for Qlik Sense® allows for vertical and horizontal buttons and selections (fields, master dimensions and variables) as well as unlimited trigger based Actions. #trueChart #menubar #highcoordination
Stars: ✭ 19 (-26.92%)
Mutual labels:  navigation
android-deeplink-navigation
Example Android Application with (simplified) Deeplink Navigation.
Stars: ✭ 39 (+50%)
Mutual labels:  navigation
jquery-accessible-modal-window-aria
jQuery simple and accessible modal window, using ARIA
Stars: ✭ 61 (+134.62%)
Mutual labels:  accessibility
NavigationHeader
Navigation Header library based on MotionLayout inspired by dribble menu design built with MotionLayout and ObjectAnimator.
Stars: ✭ 39 (+50%)
Mutual labels:  navigation
alfa
♿ Suite of open and standards-based tools for performing reliable accessibility conformance testing at scale
Stars: ✭ 75 (+188.46%)
Mutual labels:  accessibility
focus-svelte
focus lock for svelte
Stars: ✭ 18 (-30.77%)
Mutual labels:  accessibility
MockAppMVVM
A sample app structure using the MVVM architecture using Retrofit, Dagger2, LiveData, RxJava, ViewModel and Room.
Stars: ✭ 14 (-46.15%)
Mutual labels:  navigation
optimized-route
Website that uses the Google Maps API to create an optimized route between waypoints. (My first website, from 2016).
Stars: ✭ 17 (-34.62%)
Mutual labels:  navigation
Object-Goal-Navigation
Pytorch code for NeurIPS-20 Paper "Object Goal Navigation using Goal-Oriented Semantic Exploration"
Stars: ✭ 107 (+311.54%)
Mutual labels:  navigation
tab-numbering
Browser extension for Chrome and Firefox: add numbering to tab titles
Stars: ✭ 22 (-15.38%)
Mutual labels:  accessibility
rarely-mobile
A platform for allowing 1+ billion people with any form of disability to share their ideas and experiences for a better life. 🌱
Stars: ✭ 15 (-42.31%)
Mutual labels:  accessibility
react-native-navigation-drawer-layout
React Native library to generate navigation drawer layout.
Stars: ✭ 26 (+0%)
Mutual labels:  navigation
robo-vln
Pytorch code for ICRA'21 paper: "Hierarchical Cross-Modal Agent for Robotics Vision-and-Language Navigation"
Stars: ✭ 34 (+30.77%)
Mutual labels:  navigation
LittleNavmapOFMTheme
Open Flightmaps VFR Map Theme for Little Navmap
Stars: ✭ 34 (+30.77%)
Mutual labels:  navigation

An accessible menu for WordPress themes

Use and adapt this responsive and accessible menu in your WordPress theme development.

Features

  • Keyboard navigation using tab, space, enter, and arrow keys
  • All elements have ARIA names, roles and attributes

View demo

Using in WordPress

  1. Add this to your HTML where you want the menu to appear
  2. Replace 'yourtheme' with your theme's text domain
  <?php if (has_nav_menu('primary')) : ?>
  <div class="menu-container">     
    <button class="menu-button"><?php _e('Menu','yourtheme'); ?></button>
      <div id="site-header-menu" class="site-header-menu">
        <nav id="site-navigation" class="main-navigation" role="navigation" aria-label="<?php esc_attr_e('Primary Menu', 'yourtheme'); ?>">
        <?php
          wp_nav_menu(array(
	        'theme_location' => 'primary',
	        'depth'          => 3,
	        ));
        ?>
        </nav>
      </div>
   </div>
  <?php endif; ?>
  1. Do the following in your theme's functions.php
  function register_my_menu() {
  register_nav_menu('primary',__( 'Primary Menu', 'yourtheme' ));
  }
  add_action( 'init', 'register_my_menu' );
  wp_enqueue_script( 'yourtheme-script', get_template_directory_uri() . 'menu.js', array('jquery'), '1.0', true );
  wp_localize_script( 'yourtheme-script', 'screenReaderText', array(
	   'expand'   => __( 'Expand child menu', 'yourtheme' ),
	   'collapse' => __( 'Collapse child menu', 'yourtheme' ),
  ));

This is optional (if your theme does not need to be internationalized), but if you do not do this, then you need to uncomment this line in menu.js:

  var screenReaderText = {"expand":"Expand child menu","collapse":"Collapse child menu"};
  wp_enqueue_style('font-awesome', get_template_directory() . '/font-awesome/font-awesome.css');

Using without WordPress

  1. Uncomment this line in menu.js
  var screenReaderText = {"expand":"Expand child menu","collapse":"Collapse child menu"};
  1. Construct your HTML using this example
  <div class="menu-container">     
    <button class="menu-button">Menu</button>
      <div id="site-header-menu" class="site-header-menu">
        <nav id="site-navigation" class="main-navigation" role="navigation" aria-label="Primary Menu">
          <ul id="menu-main" class="primary-menu">
             <li class="menu-item"><a href="/">Menu-item 1</a></li>
             <li class="menu-item menu-item-has-children"><a href="/">Menu-item 2</a>
               <ul class="sub-menu">
                 <li class="menu-item"><a href="/">Menu-item 2.1</a></li>
                 <li class="menu-item menu-item-has-children"><a href="/">Menu-item 2.2</a>
                   <ul class="sub-menu">
                     <li class="menu-item"><a href="/">Menu-item 2.2.1</a></li>
                     <li class="menu-item"><a href="/">Menu-item 2.2.2</a></li>
                     <li class="menu-item"><a href="/">Menu-item 2.2.3</a></li>
                   </ul></li>
                 <li class="menu-item"><a href="/">Menu-item 2.3</a></li>
                </ul></li>
              <li class="menu-item menu-item-has-children"><a href="#">Menu-item 3</a>
                <ul class="sub-menu">
                  <li class="menu-item menu-item-has-children"><a href="#">Menu-item 3.1</a>
                    <ul class="sub-menu">
                      <li class="menu-item"><a href="/">Menu-item 3.1.1</a></li>
                      <li class="menu-item"><a href="/">Menu-item 3.1.2</a></li>
                      <li class="menu-item"><a href="/">Menu-item 3.1.3</a></li>
                      <li class="menu-item"><a href="/">Menu-item 3.1.4</a></li>
                    </ul></li>
                 </ul></li>
               <li class="menu-item"><a href="/">Menu-item 4</a></li>
            </ul>
          </nav>
       </div>
     </div>

Browsers

Browser testing courtesy of BrowserStack

BrowserStack logo

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].