W3C logoWeb Accessibility Initiative

WAI: Strategies, guidelines, resources to make the Web accessible to people with disabilities

IndieUI Overview

Page Contents


Independent User Interface (IndieUI) is a way for user actions to be communicated to web applications. IndieUI will make it easier for web applications to work in a wide range of contexts — different devices, different assistive technologies (AT), different user needs.

Illustration of 4 scroll down user actions (described in the main content) going into a filter labeled IndieUI Events. Under filter is 'scrollrequest(x/y)', and an arrow pointing to it from a Web App.

For example, if a user wants to scroll down a page, they might use their finger on a touch screen, or click a scroll bar with a mouse, or use a scroll wheel, or press Page Down on a keyboard, or say "scroll down" with a voice command. All those different user actions can be translated into a simple IndieUI scroll event. (Specifically, scrollrequest(x/y), as shown in the illustration.)

IndieUI will allow web application developers to get these events from different devices without having to recognize how the user performed the action. With IndieUI, AT will have a simple set of events to control web applications, and web application developers will have a uniform way to design applications that work for multiple devices and contexts.

(Additional perspectives are in the blog post: IndieUI: Events expands user interface interactions for mobile and more.)

Requirements and Use Cases

Requirements and use cases that IndieUI intends to address are available in Requirements for IndieUI: Events 1.0 and IndieUI: User Context 1.0.

The IndieUI Specifications

IndieUI includes two technical specifications: IndieUI: Events and IndieUI: User Context. They are introduced below and explained in more detail in the Current Work section of the IndieUI Working Group page.


IndieUI: Events maps user input events to intended function. For example, a user scrolling a page is a series of touch events closely related in time and space. This can be complicated for web applications to process, particularly because the expected gestures vary by platform. IndieUI will allow the device to send a simple "scroll" event to the application, thus simplifying the work needed by the web application developer.

IndieUI: Events drafts:

User Context

IndieUI: User Context defines a set of preferences that users can choose to expose to web applications, and an API for user agents to access the preferences and listen for changes. Users can set preferences for features such as screen size, font size, and color. Users with disabilities can provide information about assistive technologies in use, indicate that the display is in an accessibility mode, and indicate what kind of subtitles and audio descriptions they need. Web applications can use this information to optimize the presentation without a requirement to target a specific device, operating system, or locale.

IndieUI: User Context drafts:

Who develops IndieUI

The IndieUI technical documents are developed by the Independent User Interface Working Group (IndieUI WG), which is part of the World Wide Web Consortium (W3C) Web Accessibility Initiative (WAI).

IndieUI is developed through the W3C Process introduced in How WAI Develops Accessibility Guidelines through the W3C Process: Milestones and Opportunities to Contribute.

Your Input

We welcome your input, including commenting on drafts announced for review and more actively participating in the Working Group.