- Important note: This Wiki page is edited by participants of the User Agent Accessibility Guidelines working group (UAWG). It does not necessarily represent consensus and it may have incorrect information or information that is not supported by other Working Group participants, WAI, or W3C. It may also have some very useful information.

Definition of User Agent

From WAI UA Wiki
Revision as of 19:30, 16 June 2011 by Jallan (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Definition: A user agent is any software that retrieves, renders and facilitates end user interaction with Web content, or whose user interface is implemented using Web technologies. {revised from http://www.w3.org/WAI/UA/2011/ED-UAAG20-20110525/#def-user-agent)

Introduction in Guidelines

revisions and additions to http://www.w3.org/WAI/UA/2011/ED-UAAG20-20110525/#introduction

A user agent is any software that retrieves and presents Web content for end users or is implemented using Web technologies. User agents include Web browsers, media players, and plug-ins that help in retrieving, rendering and interacting with Web content. The family of user agents also includes operating system shells, consumer electronics with Web-widgets, and stand-alone applications or embedded applications whose user interface is implemented as a combination of Web technologies.

comment: 	greg - I suggest having at least a user-friendly paragraph in the intro that explicitly refers readers to the glossary for a formal, normative definition.


While rendering engines and other technologies used to build user agents are not by themselves considered user agents, it is fundamental to user agent accessibility that these technologies support user agent requirements. In building a user agent the developer should fully understand the support for UAAG 2.0 when selecting technologies.

What qualifies as a User Agent?

The following tests can be used to determine if software qualifies as a user agent for the purposes of these guidelines. It divides potential user agents into Primary Agents (the traditional "browser"), Extensions and Plug-ins, and Web-based User Agents.

If the following three conditions are met then it is a Primary User Agent and Must Conform to UAAG:

  1. If it is a standalone application; and
  2. If it interprets any w3c specified language; and
  3. If it provides a user interface or interprets either a procedural or declarative language that may be used to provide a user interface.

If the following two conditions are met then it is a User Agent Extension or Plug-In and Must Conform to UAAG:

  1. If it is launched by, or extends the functionality of, a Primary User Agent; and
  2. If post-launch user interaction either becomes part of, or is within the bounds of, the Primary User Agent.

If the following three conditions are met then it is a Web-Based User Agent and Must Conform to UAAG:

  1. If the user interface is generated by the interpretation of either a procedural or declarative language; and
  2. If this interpretation is by a Primary User Agent, User Agent Extension or Plug-In; and
  3. If user interaction is not passed to and from the Primary User Agent, User Agent Extension or Plug-In, or if user interaction does not modify the Document Object Model of its containing document.