the information below is from our Implementation document, Jan's stuff on Partial conformance, Greg's stuff on conformance, conversations with Kelly and Jeanne, and meeting minutes. I have made some sausage, in that bits and pieces have been used from all of the above, rearranged, and slight rewordings. Please comment on-line.
Definition of User Agent
A user agent is any software that retrieves, renders and facilitates end-user interaction with Web content.
What qualifies as a User Agent?
These guidelines employ the following tests to determine if software qualifies as a user agent. UAAG 2.0 divides potential user agents into
- platform-based application
- web-based application
- extension or plug-in
Platform-based User Agent
If the following three conditions are met, then it is a platform-based application:
- It is a standalone application, and
- It interprets any W3C-specified language, and
- It provides a user interface or interprets a procedural or declarative language that may be used to provide a user interface
This includes desktops, and mobile devices.
Web-based User Agent
If the following three conditions are met then it is an web-based application:
- The user interface is generated by a procedural or declarative language; and
- The user interface is embedded in an application that renders web content, and
- User interaction is controlled by a procedural or declarative language, or if user interaction does not modify the Document Object Model of its containing document.
This is also known as a "webapp" Examples include Web-based text editors (xStandard, ckEdit, etc.), web applications (e.g Docusign, c9.io
- Cloud based IDE), media players (e.g. Quicktime), and could include applications that are written to run in HTML5 <canvas> element.
Full UAAG 2.0 Conformance
The conformance description and examples below are the same whether the User Agent is Platform-base or web-based.
A user agent conforms to UAAG20 at A, AA or AAA level when it meets the all of the SCs appropriate for the claimed level of conformance. The UA may meet the appropriate SCs wholly on its own, or must list extensions necessary to meet specified SCs that the UA cannot meet alone.
User Agent or User Agent Assembly:
User Agent is defined above. A User Agent Assembly includes the functionality and limitation provided by:
- the hardware on which it operates,
- the operating system,
- the User Agent version,
- extensions and plugins necessary for conformance claim.
List All SC, for the level (A, AA, AAA) to claim conformance, mark Pass/Fail or NA - list reason for NA
Full UAAG 2.0 Conformance
A user agent conforms to UAAG20 at A, AA or AAA level when it meets the all of the SCs appropriate for the claimed level of conformance. The UA may meet the appropriate SCs wholly on its own and must document configuration changes (from default) necessary. Some user agents may use plug-ins and/or extensions to meet specified SCs that the UA cannot meet alone. These plug-ins and/or extensions must be documented. (@@ plug-ins defined in glossary. need to add "plug-ins have full responsibility for rendering the content in a certain technology" to the definition@@)
In order to take into account user agents with limited feature sets (no audio, no color), many of the UAAG 2.0 success criteria are conditional, applying only to user agents with the given features(s). If a conformance claim is made, an explanation of why the success criterion is not applicable (NA) is required. (@@reworded from ATAG20@@) A user agent with Success Criteria marked NA (with appropriate explanation) can be fully conformant.
The following Success Criteria are listed as passed:
- all passed SC are listed. @@when we test it will be important to describe how the SC was met. This will increase the validity and repeatability of the test.@@
The following SC are listed as Not-Applicable (NA) using the following scheme below:
NA:* Not Applicable Codes: (Level A, AA, or AAA)
- *NA-Input:* not applicable due to a constrained input set (e.g. an application that reads flight data in XML format from a corporate server, or a help system that only displays HTML files included with the product)
@@jan - Perhaps it would be better if the conformance claim just said, the input is constrained by x,y,z. I don't think NA-input should cause conformance to be partial.@@
- *NA-Platform:* not applicable due constraints of the platform (e.g. color handling when the browser is run on a monochrome device, audio handling on a silent device, video handling on a interactive voice response browser, or interprocess communication on an operating system that does not support multitasking). The conformance should explain what platform features are missing.
- *NA-Output:* not applicable due to intentionally limited output modalities (e.g. video handling in a browser that only does audio output even though the platform might support video)
The following SC are listed as Not Compliant using the following scheme:
- All Failing (Non-conforming) SC are listed with the reason for failing.
NC:* Not Compliant codes: (Level A, AA, or AAA)
- *NC-Potential:* not compliant but in theory a third party could make it compliant using documented and supported techniques (e.g. the product's extension architecture readily allows adding the required feature; this is also allowed if the source is made available and the claimant believes it could be modified to add compliance with less than one person-week of effort, thus giving incentive for open source)
- *NC-Unsupported:* may be compliant but not using documented and supported techniques
- *NC-Impossible:* not compliant even with undocumented and unsupported techniques
Note: When a user agent fails to meet the necessary Success Criteria with Pass or NA for A, AA, or AAA (there are Failed SCs), then the user agent is designated as having Partial/Limited/Restricted/Reserved/Circumscribed/Incomplete/Fractional Conformance (@@ pick one @@)
Example:
User-Agent Foo conforms to the following Success Criteria:
- UA Foo v21 runs on x86 hardware with Windows 9 operating system. We are including extensions for xxx
- all met SC are listed. (UAWG will list the configuration setting necessary to meet an SC [if we choose]. it will be too complicated for anyone else, they won't take the time. )
The following SC are listed as NA
The following reasons are valid for an SC not being applicable:
- Constrained Content in an Unreconized media type,
- device limitation: combination of hardware and operating system.
respect system settings: EG. SC xxx Device Limitation: OS does not expose system fonts, UA not responsible for using system fonts. SC xxx - Hardware platform has a monochrome screen, UA does not meet any SC related to color.
A mobile app for an airline might, in fact, be an HTML browser that only displays specially-structured text-only HTML content (flight information) from a known source. Because the content is very predictable, certain UAWG requirements that would usually apply to an HTML browser (e.g. regarding how to display image alternatives) would not apply. @@this needs to be expanded a bit@@
Extension or Plug-in
If the following two conditions are met then it is an extension or plug-in:
- It is launched by, or extends the functionality of a platform-based application, and
- Post-launch user interaction is included in, or is within the bounds of the platform-based application
This includes most extensions and plugins (e.g. media players). It excludes assistive technology applications that are standalone applications separate from the browser (rule 2 above). It excludes web-based application plugins (see the definition above).
UAAG 2.0 Conformance for Extension (Level A, AA, or AAA):
This option may be used for extension or plug-in with very limited functionality. Conformance for an extension or plugin can be claimed for specific SCs and the SCs related to preference settings, toolbar settings, documentation, and programmatic access.
The conformance claim must list all browsers and versions with which the extension operates.
The level of conformance (A, AA, or AAA) is determined as above except that: (1) for any "NA" answers, the extension (plug-in, etc.) must not prevent the success criteria from being met by another user agent extension as part of a complete user agent system and (2) the user agent extension (plug-in, etc.) must meet any requirements applying to all functionality (e.g. to be resizable, to provide documentation, etc.).
Note: User agent Extensions would not be able to meet conformance if they prevent additional user agent components from meeting the failed success criteria (e.g., for security reasons).
- *NA-Component:* not applicable to the limited functionality provided by this user agent component, plug-in, or extension (e.g. SC relating to rendering content would not apply to a browser extension that adds additional menu commands but does not itself render any content)
- *NA-Input:* not applicable due to a constrained input set (e.g. an application that reads flight data in XML format from a corporate server, or a help system that only displays HTML files included with the product)
@@jan - Perhaps it would be better if the conformance claim just said, the input is constrained by x,y,z. I don't think NA-input should cause conformance to be partial.@@
- *NA-Platform:* not applicable due constraints of the platform (e.g. color handling when the browser is run on a monochrome device, audio handling on a silent device, video handling on a interactive voice response browser, or interprocess communication on an operating system that does not support multitasking). The conformance should explain what platform features are missing.
- *NA-Output:* not applicable due to intentionally limited output modalities (e.g. video handling in a browser that only does audio output even though the platform might support video)
Example:
A "mouseless browsing" extension allows the following listed browsers (UA1, UA2) to meet UAAG success criterion 2.3.3 ("Direct activation of Enabled Elements: The user can move directly to and activate any enabled element in rendered content."). Additionally we meet these SCs related to user interface components (Guideline 2.1 2.3.4, 2.7.1, 2.7.1, 2.8.1, 3.3.1, 3.3.2). All other SC are rated NA-Extension.