All Projects → mor10 → a11y-dropdown

mor10 / a11y-dropdown

Licence: GPL-3.0 license
An experiment to improve accessible drop-down menus for WordPress themes.

Programming Languages

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

Projects that are alternatives of or similar to a11y-dropdown

accessible-nav-wp
An accessible menu for WordPress theme development
Stars: ✭ 26 (+44.44%)
Mutual labels:  navigation, accessibility
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 (+1411.11%)
Mutual labels:  navigation, accessibility
React Command Palette
An accessible browser compatible javascript command palette
Stars: ✭ 140 (+677.78%)
Mutual labels:  navigation, accessibility
svelte-typeahead
Accessible, fuzzy search typeahead component
Stars: ✭ 141 (+683.33%)
Mutual labels:  accessibility
Ayase
🥥 Control everything by keyboard. Built for hackers and the blind.
Stars: ✭ 53 (+194.44%)
Mutual labels:  accessibility
hocus-focus
A keyboard navigation horror game.
Stars: ✭ 70 (+288.89%)
Mutual labels:  accessibility
editoria11y
A user-friendly automatic content accessibility checker.
Stars: ✭ 23 (+27.78%)
Mutual labels:  accessibility
Madara
✍️ A way for people to manage their tasks.
Stars: ✭ 17 (-5.56%)
Mutual labels:  accessibility
csvConf2021
Data visualization accessibility talk for csv,conf,v6 (2021)
Stars: ✭ 19 (+5.56%)
Mutual labels:  accessibility
NewsHub
News Hub display news of different category (Entertainment, Business, International, Sports, Medical, Technology, Global) and news can be saved as bookmark
Stars: ✭ 16 (-11.11%)
Mutual labels:  navigation
WebSight
Aiding the visually impaired through real time augmented reality, AI object detection, WebGL shaders effects such as edge detection, and colour adjustments.
Stars: ✭ 26 (+44.44%)
Mutual labels:  accessibility
organicmaps
🍃 Organic Maps is a free Android & iOS offline maps app for travelers, tourists, hikers, and cyclists. It uses crowd-sourced OpenStreetMap data and is developed with love by MapsWithMe (MapsMe) founders and our community. No ads, no tracking, no data collection, no crapware. Your donations and positive reviews motivate and inspire our small team!
Stars: ✭ 3,689 (+20394.44%)
Mutual labels:  navigation
fenrir
An TTY screenreader for Linux.
Stars: ✭ 33 (+83.33%)
Mutual labels:  accessibility
linkedresearch.org
🌐 linkedresearch.org
Stars: ✭ 32 (+77.78%)
Mutual labels:  accessibility
use-prefers-color-scheme
🪝 React hook for subscribing to user's color scheme preference.
Stars: ✭ 28 (+55.56%)
Mutual labels:  accessibility
EasyScrollDots
Single page scroll JavaScript plugin that allows for vertical navigation of page sections
Stars: ✭ 38 (+111.11%)
Mutual labels:  navigation
theBookOfNoah
Everything ive learned developing web applications
Stars: ✭ 22 (+22.22%)
Mutual labels:  accessibility
public-transit-tools
Tools for working with GTFS public transit data in ArcGIS
Stars: ✭ 126 (+600%)
Mutual labels:  accessibility
aria-collapsible
A lightweight, dependency-free JavaScript module for generating progressively-enhanced collapsible regions using ARIA States and Properties.
Stars: ✭ 25 (+38.89%)
Mutual labels:  accessibility
aria-devtools
Easily spot missing ARIA labels, misused ARIA roles, and incomplete keyboard support in your web applications.
Stars: ✭ 69 (+283.33%)
Mutual labels:  accessibility

Prototype for a more accessible drop-down navigation for WordPress themes

Project purpose

This project aims to create a prototype for a more accessible drop-down menu experience in WordPress themes. The goal is to build a solution that can be used in all themes to provide a consistent experience.

This repository holds a prototype of a standard WordPress primary navigation menu in an HTML file.

Demo at CodePen.

Problem

The challenge with most primary navigation menus in WordPress themes including the default themes is for horizontal menus, keyboard navigation requires the user to navigate through all sub-menus to get through the full menu. While this can be seen as an acceptable trade-off for smaller menus, it is not ideal, and it becomes a major issue in larger menus.

Proposed solution

Create a navigation menu prototype that

  1. Expands sub-menus on parent item focus.
  2. Introduces a "Collapse sub-navigation" button on next focus to allow the user to opt out of traversing the sub-nav.

Project requirements

The solution should serve as a best-practice example of Resilient Web Design and accessibility. To meet these goals, a set of requirements must be met:

  1. HTML element structure reamins as-is (auto-generated by WordPress)/.
  2. All navigation items are accessible when JavaScript does not load. This likely means all navigation items are open on load and hidden via JS.
  3. Vanlilla JavaScript. No jQuery or other dependencies.
  4. When sub-navigation is hidden visually, sub-navigation items should not be focussable by keyboard. This eliminates the "hide the sub-nav by shifting it 10000000000px offscreen" solution.
  5. Unless the "collapse sub-navigation" button is clicked, sub-navigation should remain open until the user tabs away from the parent item (forwards and backwards).

Current status

The current version (as of Tuesday April 3, 2018) works as a general demo, but has significant issues around keyboard control, most importantly tabbing backwards and in and out of sub-menus causes unexpected openings and closings.

Contributions welcome

Calling all accessibility / CSS / JavaScript people. This is a joint effort (at least I want it to be). Please contribute your skills and expertise and help make multi-level menus more accessible. This repository holds a prototype of a standard WordPress primary navigation menu in an HTML file. To contribute, clone the repo and make changes to style.css and navigation.js as necessary. The prototype HTML has been lifted from a WordPress site to isolate the scope. The solution built here can be used in WordPress or anywhere else.

Background

WordPress allows the administrator to create custom menus (navigation) via the Customizer or Appearance -> Menus panel. These menus can comprise any combination of links to posts, pages, archives, or external sources, and those links can be nested.

WordPress themes typically display at minimum one such navigation at or in the vicinity of the header of the layout. Themes cannot and should not control how an administrator chooses to organize their menu items, meaning the displayed navigation could be anything from a single link to a large multi-level array of nested items.

In the case of multi-level nested items, the visitor needs to be able to navigate to and interact with the desired menu item using all input devices: touch, keyboard, and mouse.

For some examples of how this has been accomplished in the past, refer to the default WordPress themes Twenty Seventeen, Twenty Sixteen, Twenty Fifteen, and Twenty Fourteen.

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].