1.2.0 • Published 5 months ago

a11y-button v1.2.0

Weekly downloads
-
License
MIT
Repository
-
Last release
5 months ago

a11y-button

A highly customizable accessibility toolbar for React applications that helps users adjust visual and reading preferences.

Features

  • 🎨 High contrast interface
  • 📏 Adjustable text size, spacing, and line height
  • 🎯 Reading mask for better focus
  • 🔤 Multiple font options including dyslexia-friendly fonts
  • 🎯 Easy navigation mode with auto-click
  • 💾 Save and restore preferences
  • 📱 Fully responsive
  • ⌨️ Keyboard accessible
  • 🎯 WCAG compliant
  • 🔌 Zero configuration required

Installation

npm install a11y-button

Quick Start

import { AccessibilityToolbar } from 'a11y-button';
import { AccessibilityProvider } from 'a11y-button';

function App() {
  return (
    <AccessibilityProvider>
      <div>
        <AccessibilityToolbar />
        {/* Your app content */}
      </div>
    </AccessibilityProvider>
  );
}

Usage Examples

Basic Usage with Default Button

// Simple implementation with default settings
<AccessibilityProvider>
  <AccessibilityToolbar />
</AccessibilityProvider>

Custom Button Implementation

import { AccessibilityToolbar } from 'a11y-button';

function App() {
  return (
    <AccessibilityToolbar
      hideButtonWhenOpen={true}
      id="accessibility-toolbar"
    >
      <button
        id="accessibility-toolbar"
        onClick={() => {
          // Optional: Focus the toolbar after opening
          setTimeout(() => {
            window.document.getElementById("accessibility-toolbar")?.focus();
          }, 300);
        }}
      >
        Customize Accessibility
      </button>
    </AccessibilityToolbar>
  );
}

Custom Positioning

// Fixed position in top-right corner
<AccessibilityToolbar
  position="fixed"
  top="1rem"
  right="1rem"
/>

// Absolute position in bottom-left
<AccessibilityToolbar
  position="absolute"
  bottom="1rem"
  left="1rem"
/>

Custom Appearance

// Square button with palette icon
<AccessibilityToolbar
  borderRadius="4px"
  iconHandle="palette"
/>

Features Guide

Easy Navigation Mode

When enabled, this feature adds two large navigation buttons at the bottom right of the screen for scrolling up and down. Additionally, it provides an auto-click functionality:

  • Hover over any clickable element for 2 seconds to trigger a click
  • Visual progress indicator shows when auto-click will occur
  • Great for users with motor difficulties

Reading Mask

A focused reading aid that:

  • Dims the entire page except for the current reading area
  • Follows mouse movement
  • Helps users focus on specific content
  • Adjustable mask size based on text size

Text Customization

Comprehensive text adjustment options:

  • Font size scaling
  • Line height adjustment
  • Letter spacing
  • Word spacing
  • Multiple font families including dyslexia-friendly options

Visual Aids

Various visual enhancement features:

  • High contrast mode
  • Custom color schemes
  • Black and white image conversion
  • Link highlighting
  • Layout simplification

Props

PropTypeDefaultDescription
position'fixed' | 'absolute''fixed'Position of the trigger button
topstringundefinedTop position
rightstring'1rem'Right position
bottomstring'1rem'Bottom position
leftstringundefinedLeft position
borderRadiusstring'50%'Border radius of the trigger button
iconHandle'settings' | 'eye' | 'palette' | 'type' | 'layout''settings'Icon to display in the trigger button
childrenReactNodeundefinedCustom trigger element
hideButtonWhenOpenbooleanfalseHide the trigger button when toolbar is open
idstringundefinedID for the toolbar (required when using custom button)

Persistence

User preferences are automatically saved to localStorage and restored on page reload.

Browser Support

  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Edge (latest)

Contributing

Contributions are welcome! Please read our contributing guidelines for details.

License

MIT

1.2.0

5 months ago

1.1.29

5 months ago

1.1.28

5 months ago

0.1.14

5 months ago

0.1.15

5 months ago

1.1.30

5 months ago

1.1.32

5 months ago

1.1.31

5 months ago

0.1.20

5 months ago

0.1.21

5 months ago

0.1.22

5 months ago

0.1.23

5 months ago

0.1.24

5 months ago

0.1.16

5 months ago

0.1.17

5 months ago

0.1.18

5 months ago

0.1.19

5 months ago

1.1.27

5 months ago

1.1.25

5 months ago

0.1.11

5 months ago

0.1.10

5 months ago

0.1.9

5 months ago

0.1.8

5 months ago

0.1.7

5 months ago

0.1.6

5 months ago

0.1.5

5 months ago

0.1.4

5 months ago

0.1.3

5 months ago

0.1.2

5 months ago

0.1.1

5 months ago

0.1.0

5 months ago