Last Updated: Apr 12th 2019

eBay MIND Patterns is receiving some long overdue updates! All example code is being converted from jQuery to modern, vanilla JavaScript. All patterns are being reviewed, and brought up to date (where applicable) with the newer WAI-ARIA Authoring Practices 1.1. Some long-standing gaps in our documentation will be completed (we hope).

This book will assist frontend developers in building accessible e-commerce websites and components.

This book is not a visual design system or a CSS framework (à la Bootstrap) - it is instead intended to complement those systems & tools.

This book is a living, work-in-progress document. Some patterns are complete, but gaps in the documentation still remain. We are addressing these gaps as quickly as we can.

Pattern Philosophy

These patterns will assist developers with accessibility, but are not considered to be final, production ready code!

All patterns leave additional steps for the frontend developer to complete. This typically means any CSS styling and JavaScript behaviour not related to accessibility.

Each pattern follows a Progressive Enhancement strategy (where applicable) and aims to conform to WCAG 2.0 Level AA.

Pattern Organisation

There are 4 main groups of patterns:

  1. Messaging

  2. Input

These groups spell out the MIND acronym. If you ever wonder what group does a pattern fall into - then use your MIND!

Three other important groups complement our patterns: Structure, Anti-Patterns and Techniques.

Pattern Contents

Every completed pattern will include:

  • Overview

  • Working examples

  • Terminology

  • Best practices

  • Interaction design

  • Developer guide

  • ARIA Reference

The book also contains an appendix section with a list of ARIA Essentials, References, Utilities and FAQ.

Pattern Principles

There are 4 guiding principles of accessibility, collectively know as POUR:

  1. Perceivable: People experience content in different ways (sight, hearing, and touch). Content needs to be transferable into recognizable (or perceivable) formats.

  2. Operable: Content needs to be navigable (or operable) by multiple methods—not just a mouse

  3. Understandable: Web content needs to be understandable. Language should be simple and concise; functionality should be consistent and intuitive.

  4. Robust: Create web content that works for all (or most!) technologies. This includes operating systems, browsers, and mobile devices.

From a developer perspective, Operable and Robust are the most important principles!


Don't feel like reading? You can, if you wish, dive straight into the working examples.