w3c / matf

Guidance from the Mobile Accessibility Task Force (MATF)
https://w3c.github.io/matf/
Other
8 stars 3 forks source link

Definition of "user agent" in mobile context #63

Open JJdeGroot opened 3 months ago

JJdeGroot commented 3 months ago

Some Success Criteria have exceptions for user agent provided features and limitations.

For example:

1.4.11 Non-text Contrast has this exception: "except where the appearance of the component is determined by the user agent and not modified by the author"

We need to define user agent in a mobile context.

User agent definition in WCAG 2.2

any software that retrieves and presents Web content for users

Example: Web browsers, media players, plug-ins, and other programs — including assistive technologies — that help in retrieving, rendering, and interacting with Web content.

User agent mapping in WCAG2ICT 2.2

For non-web ICT, “user agent” needs to be viewed differently. In WCAG 2, the term “user agent” only refers to retrieval and display of web content. For non-web ICT, the term “user agent” refers to retrieval and display of separate content that is not on the Web, which WCAG2ICT refers to as a “document”. Within WCAG2ICT, the term “user agent” is used as follows:

user agent (as used in WCAG2ICT) any software that retrieves and presents [documents] for users

Share your thoughts for applying to mobile apps as a comment below.

JJdeGroot commented 3 months ago
AlainVagner commented 3 months ago

The definition given by WCAG2ICT seems good enough to me. In EN 301 549, mobile apps are considered as "software". Here it could fit in the same way. IN WCAG2ICT, 1.4.1, 2.2.1 and 2.2.2 have been adapted to be applicable to "user agent or software" or "non-web document or software". They seem to make a difference though between "software" (=app) and "platform software" (= the operating system).

WRT 1.4.11 I would not speak of user agent here, except maybe for web views. As a developer, if you have dependencies in your app, you are still responsible of the choice of the dependencies. If the OS does something bad this is for me out of scope. It would not be easy for an auditor to know if some issues are related to the underlying OS but this information could be mentioned in an accessibility statement. i.e. by default an auditor would consider the issue as non compliant, but if the developer provides some extra info, this non compliance could be removed.

About the system settings, for me it is a little bit a chicken and egg issue. If no app respect these settings, no one will know about these settings. I like the idea of having a standard place to set things up and have it respected in most apps. If you have a setting per app, it means that as a user, you will have to configure this option in every app you use. Is it possible to have a setting in the app, and the default state of the setting would be based on the OS-level setting?