All Projects → argyleink → roving-ux

argyleink / roving-ux

Licence: other
stateful roving index for web ui

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to roving-ux

Chromelens
Chrome DevTools extension for web accessibility development
Stars: ✭ 379 (+244.55%)
Mutual labels:  accessibility, ux
flow-ui
Accessibility oriented design system for developing fast and powerful web interfaces.
Stars: ✭ 89 (-19.09%)
Mutual labels:  accessibility, ux
Accessibility interview questions
A starting point for questions to ask someone that wants you to give them a job
Stars: ✭ 236 (+114.55%)
Mutual labels:  accessibility, ux
Madara
✍️ A way for people to manage their tasks.
Stars: ✭ 17 (-84.55%)
Mutual labels:  accessibility, ux
react-gallery-carousel
Mobile-friendly gallery carousel 🎠 with server side rendering, lazy loading, fullscreen, thumbnails, touch, mouse emulation, RTL, keyboard navigation and customisations.
Stars: ✭ 178 (+61.82%)
Mutual labels:  accessibility, keyboard-navigation
meetup-event-planner
GraphQL on Rails Demo Application and React Front End for planning meetup events
Stars: ✭ 22 (-80%)
Mutual labels:  accessibility, ux
eufemia
DNB Design System
Stars: ✭ 38 (-65.45%)
Mutual labels:  accessibility, ux
Clarity
Clarity is a scalable, accessible, customizable, open source design system built with web components. Works with any JavaScript framework, built for enterprises, and designed to be inclusive.
Stars: ✭ 6,398 (+5716.36%)
Mutual labels:  accessibility, ux
Ally.js
JavaScript library to help modern web applications with accessibility concerns
Stars: ✭ 1,447 (+1215.45%)
Mutual labels:  accessibility, keyboard-navigation
Caster
Dragonfly-Based Voice Programming and Accessibility Toolkit
Stars: ✭ 242 (+120%)
Mutual labels:  accessibility
open-ui
Maintain an open standard for UI and promote its adherence and adoption.
Stars: ✭ 2,539 (+2208.18%)
Mutual labels:  ux
React Menu
React component for building accessible menu, dropdown, submenu, context menu and more.
Stars: ✭ 237 (+115.45%)
Mutual labels:  accessibility
React Sanfona
Accessible react accordion component
Stars: ✭ 248 (+125.45%)
Mutual labels:  accessibility
accessibility-resources
A curated list of accessibility resources
Stars: ✭ 66 (-40%)
Mutual labels:  accessibility
ColorBlindnessFlutter
Simulate color blindness in color themes.
Stars: ✭ 58 (-47.27%)
Mutual labels:  accessibility
Accessibilitysnapshot
Easy regression testing for iOS accessibility
Stars: ✭ 236 (+114.55%)
Mutual labels:  accessibility
Wai Tutorials
W3C WAI’s Web Accessibility Tutorials
Stars: ✭ 229 (+108.18%)
Mutual labels:  accessibility
product-language-framework
A ready-to-go starter kit for product copywriting and style guidelines. Useful guidelines, examples, and an optional static site generator.
Stars: ✭ 20 (-81.82%)
Mutual labels:  ux
website
Website source for Jikan.moe
Stars: ✭ 28 (-74.55%)
Mutual labels:  ux
sseeeedd
Seed for front-end culture :)
Stars: ✭ 15 (-86.36%)
Mutual labels:  accessibility

Roving UX

Total Downloads Latest Release License

Turns tedious tab UX into a controlled and stateful experience


Learn more in this article by Rob Dodson on web.dev
Try it at this GUI Challenge (use tab then left || right arrows)


Features & Why

1️⃣ User's shouldn't need to tab through each item in a list to see the next list
2️⃣ Providing keyboard list UX should be easy
3️⃣ Maintaining the last focused element should be easy
4️⃣ RTL Support


Getting Started

Installation

npm i roving-ux

Use the SkyPack CDN https://cdn.skypack.dev/roving-ux
Looking for a React version, here ya go! https://www.npmjs.com/package/roving-ux-react


Importing

// import from CDN
import { rovingIndex } from 'https://cdn.skypack.dev/roving-ux' // cdn es2020

// import from NPM
import { rovingIndex } from 'roving-ux'      // npm es6/common modules
const rovingIndex = require('roving-ux')   // commonjs

Syntax

Quick API Overview

rovingIndex({
  element: node,     // required: the container to get roving index ux
  target: "#foo",    // optional: a query selector for which children should be focusable
})

Example Usage

import { rovingIndex } from 'roving-ux'

// just one roving ux container
// roving-ux will use direct children as focus targets
rovingIndex({
  element: document.querySelector('#carousel')
})
import { rovingIndex } from 'roving-ux'

// many roving ux containers
// passes a custom query selector so the proper elements get focus
document.querySelectorAll('.horizontal-media')
  .forEach(scroller => {
    rovingIndex({
      element: scroller,
      target: 'a',
    })
  })
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].