- From: Ian B. Jacobs <ij@w3.org>
- Date: Tue, 12 Mar 2002 15:26:34 -0500
- To: w3c-wai-ua@w3.org
Dear UAWG, A number of issues about the UAAG 1.0 Candidate Recommendation [1] have come up during recent reviews with developers. Most of these issues only require clarification. However, there are a couple of proposals for more substantial changes below that I'd like to discuss at an upcoming teleconference. Jon, I don't suggest that we add these to the issues list until the UAWG has had a chance to discuss them. Comments welcome, - Ian [1] http://www.w3.org/TR/2001/CR-UAAG10-20010912/ ============= From the Mozilla review: 1) Can checkpoints 6.1 and 6.2 be satisfied if the APIs are not available out-of-process? Proposed: Yes. ============= From the (incomplete) RealNetworks review: 2) Add a section to the document explaining how other specifications can create profiles of UAAG 1.0 conformance. For instance, if the FOO specification wants to require FOO user agents to conform to UAAG 1.0 in a particular manner, what should/must the FOO spec say? Proposed: I would like to write this up and send to the UAWG in the near future. 3) UAAG 1.0 needs to be clearer about the fact that a user agent is not required to satisfy all requirements for all implemented formats. I believe the document already says this, but it's not easy to find. 4) Make clearer up front (e.g., at the beginning of section 2, not just the conformance section) that a user agent can conform to fewer than all the checkpoints. ============= From the Opera review: 5) Checkpoint 2.10 needs clarification. Current text: "Once the user has viewed the original author-supplied content associated with a placeholder, allow the user to turn off the rendering of the author-supplied content." Proposed: "If the user agent has satisfied checkpoint 2.3 by using a placeholder, then allow the user to toggle rendering between the placeholder and the original author-supplied content." 6) Checkpoint 3.1: Clarify that if the user agent allows the user to turn off all images, including background images, then this checkpoint is satisfied, but this is not the optimal solution (since better to be able to turn of background images separately). 7) Clarify for 1.2, 9.5, 9.6 that checkpoint may be satisfied on a per event type basis; additional granularity (per handler) is not required. This clarification is consistent with our recent DOM discussions. 8) Checkpoint 6.3: The title is "Programmatic access to non-HTML/XML content", but the first requirement refers to "markup language" (which would exclude, for example, images). Do we intend "all content" here, or just markup (non-HTML/XML) markup languages? I don't have a proposal for this one. 9) [Editorial] Clarify in 3.6 why P2 and 3.5 is P1. This is already in the techniques doc, so not critical. 10) Checkpoints 6.2 and 6.3 (DOM write access and programmatic access to other types of content): there is some content where it's a security issue to provide *any* kind of programmatic access. [Tantek made similar comments during the Mac IE review.] Some ideas for dealing with this: a) Provide programmatic access, but when security is an issue, prompt the user for confirmation (on configuration). b) If the user agent has a mechanism for allowing trusted programmatic access, then ATs should use this mechanism, and the UA must make available all content to these trusted agents. 11) Checkpoints 6.1/6.2: Is it a P1 to implement some API and P2 to implement the DOM 2 Core? See my additional thoughts below. 12) Checkpoints 6.1-6.4: Perhaps it's better (though not necessarily simpler) to express these checkpoints as functional requirements. It may turn out that the functional requirements are met by implementing some piece of an API. ============= From the MAC IE review (not yet completed) 13) Checkpoint 2.2: "XML and SGML applications". According to Ian Hickson and Tantek Çelik (both there for the evaluation), one cannot reliably determine what's an xml and sgml application by sniffing content. We will need to be more precise about how one would determine that something is an xml or sgml application. I don't have a proposal for this one. 14) Checkpoint 3.4: Toggle scripts. Tantek argued that, since most pages include scripts, the following provision should not be P1: "In this configuration, provide an option to alert the user when executable content is available (but has not been executed)." The alert will be so frequent as to be ignored. One suggestion is to pull out this provision and make it a lower priority. Proposal: Make the alert a P3 requirement. 15) Checkpoint 6.2: Tantek stated that there are security issues for some types of programmatic access to content. (for instance, programmatic access to HTML's INPUT element, type="file", which might allow the author to upload a file from the user's computer without the user's permission). See my comments below on 6.1, 6.2, and 6.3. 16) Checkpoint 6.9: Timely access. The checkpoint reads: "Ensure that programmatic exchanges proceed in a timely manner." It's not clear which exchanges this checkpoint refers to - internal to the user agent? between the UA and ATs? Proposal: This refers to exchanges over the APIs required elsewhere in Guideline 6. 17) Checkpoint 7.4: Input configuration indications. Proposal: Clarify that the requirement is to "Follow operating environment *user interface* conventions to indicaxte the input configuration." 18) Checkpoints 7.3, 8.1: Proposal: Clarify that the expression "identified as such" means "identified as such in the specification". However, this does not account for W3C Notes such as "Accessibility features of CSS" which may be useful but not normative. 19) Checkpoint 9.3: Move content focus. Proposal: In point three, clarify that "each element" means each element in the set defined in point 1. Tantek recommended introducing the term "Focusable element" and using it in point 1. 20) Checkpoint 9.4: Restore history. The checkpoint reads: "For user agents that implement a viewport history mechanism, for each state in a viewport's browsing history, maintain information about the point of regard, content focus, and selection." However, even when a user agent implements a history mechanism, it may not keep all pages in its cache. Proposal: Do not require the user agent to restore state variables for pages removed from the history cache. 21) Checkpoint 9.7: The checkpoint title is "Move content focus optimally". The word "optimal" is a bit strong. Proposal: Change the title to "Move content focus reverse" since the primary (but not only) difference from 9.3 is the reverse requirement. 22) Checkpoints 10.2, 10.3, 10.4, 10.7: The expression "rely on color alone" is ambiguous. In the end, on a color display, all distinguishing marks rely on color (e.g., a solid line is a line of a different color than, say, the background color; three-dimensional effects are due to shading, etc.). Proposal: Given our checkpoint 4.3 (configure text colors), I propose that for the 10.x checkpoints, we modify the language to read "rely on text foreground and background color alone". ============= Other observations and points for discussion: Thought 1) I continue to wonder whether 6.1 and 6.2 should be requiring DOM implementation at a P1 level. Pros: - Supposed to promote interoperability by requiring a known API. - An API is supposed to help developers by providing access to incremental changes in content; a simple text dump after any changes may decrease performance by requiring the AT to reparse each time (though in practice, apparently some do this anyway). Cons/Questions: - AT developers may not, in practice, be interested in implementing the DOM, even though in the past they have expressed interest. - Developers can't implement more suitable APIs for a given content type (e.g., SVG) since must implement DOM 2 Core, even though a specific SVG DOM might exist. - It is not guaranteed that the *entire* DOM 2 Core is required to to provide ATs with sufficient access. I don't look forward to requiring some "subset" of DOM 2 Level Core, but it would be worthwhile to determine whether nearly all of DOM 2 is required for communication with ATs Some ideas for other changes based on discussions: - Change 6.1, 6.2, and 6.3 to resemble 6.4. For example, a new checkpoint replacing 6.1, 6.2, and 6.3 might be: <NEW 6.x> Programmatic access to content (P1) 1. Provide programmatic read access to content. 2. If the user can modify content through the user interface, provide the same functionality programmatically. 3. To satisfy these requirements, implement at least one API that is either * defined by a W3C Recommendation, * a publicly documented API designed to enable interoperability with assistive technologies. 4. If no such API is available, or if available APIs do not enable the user agent to satisfy the requirements, implement at least one publicly documented API that allows programmatic operation of all of the functionalities that are available through the user agent user interface, and follow operating environment conventions for the use of input and output APIs. 5. An API is considered available if the specification of the API is published (e.g., as a W3C Recommendation) in time for integration into a user agent's development cycle. Note: We encourage developers to satisfy this checkpoint by using the DOM Level 2 Core specification for read and write access to XML and HTML content, or a more specific DOM (e.g., for HTML, SVG, or SMIL) when one exists. </NEW 6.x> Thought 2) Change the priorities of some requirements related to default values. A long time ago, Greg Lowney suggested that we should not have priority 1 checkpoints about user agent default styles, but rather priority 1 checkpoints that the user be able to change values, and perhaps priority 2 checkpoints about what the defaults should be. I continue to think that this would be a good change to make, in particular after the evaluations I have done. The following checkpoints relate to default styles: 7.2 Respect input configuration conventions. (P1) 1. Ensure that default input configurations of the user agent do not interfere with operating environment accessibility conventions (e.g., for keyboard accessibility). 10.3 Distinct default highlight styles. (P1) 1. Ensure that all of the default highlight styles for the selection and content focus, as well as for enabled elements, recently visited links, and fee links in rendered content do not rely on color alone, and differ from each other, and not by color alone. 10.7 Highlight current viewport. (P1) 2. For graphical viewports, the default highlight mechanism must not rely on color alone. Proposals: - Checkpoint 11.3 is a P2 ("Allow the user to override any binding that is part of the user agent default input configuration.") I propose making this checkpoint a P1 and making 7.2.1 a P2. - Since checkpoints 10.2 and 10.4 are P1, require the UA to allow the user to configure styles, and cover all the pieces mentioned in 10.3, make 10.3.1 a priority 2 checkpoint. I realize that without 10.3 at a P1 level, the user might not be able to distinguish some highlight styles "out of the box", but I think that should be relatively easy to fix thanks to 10.2 and 10.4 - I propose simply lowering the priority of 10.7.2 to P2. I note that we have no requirement that the user be able to configure the style of the viewport highlight mechanism. I don't propose that we add such a requirement. Note: In the above, "10.3.1" refers to checkpoint 10.3, requirement number 1. Note: There are other checkpoints (7.2, about default keyboard configurations. I don't propose that we change their priorities. Thought 3) Clarify the relation between UAAG 1.0 and other specifications. UAAG 1.0 includes requirements for specific features, but also asks for conformance to other specifications (e.g., HTML, CSS, etc.). I would like to add something to the conformance section that clarifies that: a) Developers should follow specifications, especially when consistent with UAAG 1.0 requirements. b) UAAG 1.0 may ask developers to implement optional features, i.e., go beyond what is strictly required for conformance to another specification. c) UAAG 1.0 may ask developers to implement features that are not part of another specification. d) UAAG 1.0 does not make a definitive pronouncement about what to do when a UAAG 1.0 requirement is in direct conflict with the requirement of another specification (something we hope will be rare, and even rarer for W3C specs thanks to the good work of the WAI PF Working Group). I think we should state explicitly that in these cases, UAAG 1.0 would prefer that developers meet the needs of people with disabilities. ============= Some comments and questions about evaluations (perhaps should be discussed and added to "How to Evaluate a User Agent" [2]) - I think that each requirement of each checkpoint should be rated separately, rather than, say, trying to average 4 ratings for the 4 requirements of a single checkpoint. - Should known bugs that are expected to be fixed count against a given rating? I think that bugs should not count against the rating, provided there is a good faith commitment by the developer to fix them. Furthermore, they should be advertised in the claim, not hidden. - How can we calibrate evaluations, i.e., make them more comparable? How do we ensure even rating across evaluations? [2] http://www.w3.org/WAI/UA/2001/10/eval -- Ian Jacobs (ij@w3.org) http://www.w3.org/People/Jacobs Tel: +1 718 260-9447
Received on Tuesday, 12 March 2002 15:26:23 UTC