- From: Al Gilman <asgilman@iamdigex.net>
- Date: Wed, 03 May 2000 15:54:20 -0500
- To: w3c-wai-ua@w3.org, w3c-wai-gl@w3.org
My personal rough estimate of status on the points raised by Jon are marked by AG:: below. ** Summary: Generally, I do not believe that there is a lot of change that should come out of this consultation as regards what goes in the User Agent Guidelines. Some possible points of cleanup: a) Completely hiding MAP elements as a class (as discussed currently in the UA Techniques) is not the most obvious and desirable technique to cooperate with the use of MAP in making head navigation bars less of a barrier. Helping the user read the TITLE of the MAP and then optionally step past the MAP contents is a more basic technique, higher in priority for the UA to cover. The 'hide' technique may also be available, but if only one is implemented, it would be better it not be that one. In addition, even 'though the WCAG recommends the MAP element as the container of choice for head navigation bars, the User Agent should implement the ability to step past containers in general as a higher priority feature than any special treatment of MAP per_se. b) The minimum requirement for the UA as regards HTML H1-H6 is to treat them as hotspots, whether or not there are assumed to be corresponding containers or articulable subdivisions of the page content. These hotspots provide preferred navigation destinations, and logical places to start serial reading, with author-supplied orientation information enclosed. This orientation role should be reflected in UA view construction. This is true independent of how much the author has employed them hierarchically or not, and independent of how much the UA has done to ascertain the level of hierarchy-thinking on the part of the author. c) in HTML TABLEs the discussion in the UA Techniques misses the SCOPE element. See notes below and definitions in the HTML Recommendation. Note (non-cleanup): The most common top level functional subcomponents in a web page are the head and foot, and then, not quite so universally, the local-navigation bar commonly found at the left margin in languages written left to right. So far as I know there is no reliable markup pattern from either HTML or the WCAG that will let User Agents recognize even these most common structural features confidently. I keep harping on this because PF would like to have a better theory to advocate to XML dialect creators, but may need help in discerning the actual structural features that are common in web literature before selecting a theory or model to be covered by markup capabilities. This would appear to involve a triangle of WCA, PF and the HTML WG acting together. With help from ER, perhaps. ** Details: At 09:31 AM 2000-04-20 -0500, Jon Gunderson wrote: AG:: Note that the User Agent Accessibility Guidelines are in Proposed Recommendation status at this time. For the status quo on this topic, refer to the PR version of the UAAG, especially Checkpoints 8.6 and 7.6 which may be conveniently found at <http://www.w3.org/TR/UAAG10/uaag10-chklist.html> >Issue #1: The use of MAP for marking groups of links. >A. Conventions for accessible usage This depends on the role of the group of links in the page. If the page is a page of search results, then the prime content of the page is a list of links and there is no reason to encase this list in a MAP element. The MAP element is recommended practice when a group of off-page links is incidental to the prime mission of the current page. And the group of links is not already collected in some other structure such as a list or table. The assumption is that by creating a superelement containing the group of links, the group can be reviewed by title and optionally skipped as a group. This assumes two things from the user agent: First: Elements having a TITLE attribute will be represented in a navigation-guide view in the User Agent by that TITLE [with possible exceptions for things like a TABLE which has a CAPTION where the CAPTION may or perhaps should supercede the TITLE in identifying this page component. Second: That in navigating internal to a navigation-guide view in the User Agent, it will be possible to skip page components by a stepping to the next peer in the navigation tree, or next entry in the navigation-guide view. What comes next in the current navigation-guide view is subject to a) ordering in the equivalent-source view, and filter rules b) which attempt to hit the high spots relative to the current depth in the contents tree, c) which may contain heuristics that the UA developer has developed by surveying current web usage and user testing and d) the user may have some input to per UA checkpoint 7.7. Third: A navigation-guide view may be exposed either as a virtual hypertext or may be implicit in the behavior of the motion commands 'next,' 'enter [also possibly known as 'push' or 'down'],' 'up [also possibly known as 'pop'],' etc. In this case the view structure is the graph laid out by repeated application of these commands. >B. Labeling the group of links (i.e. use title?, class?, name? or block >element labels...) First priority in display should go to built-in labels such as CAPTION on TABLE that are exposed in the author's default view and defined in the document format. Second priority for display in identifying navigation targets in a navigation-guide view is the TITLE attribute from the element at the root of a document component's DOM subtree. Exposing NAMEs for NAMEd anchor elements is potentially useful but unproven. I would view this technique as experimental at this time. CLASS tokens are to be used in the markup. They should be mnemonic for the generic rhetorical role of the document component that they describe. Their primary use is by the creators of third party stylesheets, but users should also have access to these properties as discussed previously with regard to UAAG guideline 2.1. CLASS values can be used to refine view-filter rules in structural navigation but this technique is one I would consider experimental at this time. The role of the CLASS attribute is to create a subtype of the element type for the element bearing this attribute designation. CLASS is to be used along with the element type name wherever the User Agent addresses the "What's That" user question. For reference, this question is intended to be as in the following four-question orientation agenda: 1. Where am I? This is a question to which the response is information about the neighborhood of the current location in the contents hierarchy. Often answered with just a location key, i.e. the path between the current location and a recognizable location reference such as the whole page (c.f. BASE in HTML and XML). In tables, location by row and column both is required. A tree-descent path is not enough. More or less contextual information may be presented. When at the root of a page decomposition, the links in the head navigation bar are a high priority to expose in this "context" sub-view. External things that one [the current location/scope] is related to are all part of the context information, although it is generally useful-to-necessary to have some filtering available in reviewing this body of information. 2. What's That? This is a question to which the response is a characterization of the current location/scope. [I keep saying location slash scope. The point is that a location in the contents decomposition space is a scope in the document space.] Top priority: identification of the current location slash scope as provided by the author or content source. Additional ad lib and ideally adjustable or probeable: type information concerning the current location slash scope. This includes subtype information which includes the values of attributes of a container element specific to this location/scope. In the case of a constructed view where the containers in the virtual table of navigation page do not have a unique ancestor in the base document structure, then the filter and composition rules for constructions of the virtual entity are part of the type information that is in this sub-view. What's There? This question is answered with a [summary] report on the contents of the current location/scope. This report is logically equivalent to the generation of a table-of-navigation virtual document for the current location/scope. Filter rules are adjusted to admit more detail as the scope contracts as the navigation descends through the scope hierarchy. What Can I Do? This question is a slanted report on the contents and context which has filter rules favoring action opportunities. Immediate action opportunities may be directly described in this sub-view or they may be represented by major outcomes reachable by action sequences that start at the local action opportunities. For example "win this car" may be the legend for a link that takes one to a page bearing a form to enter a raffle. Those four kinds of information are the basic orientation agenda and the workload is shared between what the user can readily recall and what they need to be presented with so that they can recognize it. Naturally, the presentation emphasizes what is new after a location slash scope change, but some of the old will be folded into the presentation of content as well, and it will be discoverable by "where am I" etc. Orientation must be viewed as defined in terms of what the user understands. There is understanding of the current state of navigation, basically the user's understanding of the answers to "Where am I," and "What's that?" In addition there is orientation to "What can I do" in the way of further motion, or changes to the location slash scope state. This is typically answered by the "What is there?" answer which is mostly fresh after a motion. "What is there" exposes a structured view of the content, and structural navigation constitutes moving the current location and scope among those possible values [or up, etc.]. >C. Can map be used for more than indicating groups of links? Its primary use is in providing a collection of links which are presented to the user as active hotspots in an image. This use is consistent with the use of this element in the recommended markup for navigation bars that would be implicit unless wrapped in further markup. The GL group has not explicitly tried to articulate what MAP should _not_ be used for. It is considered that use outside of these two uses is highly unlikely. However, note that: The User Agent is not being asked to dedicate any special processing to the MAP element type per se. Containers in general, and especially containers with TITLE set, should be given priority treatment in the structural navigation functions of the User Agent. The recommended use of MAP for header navbars will fall within this class. >Recent proposal for MAP techniques by Wendy Chisholm : >http://lists.w3.org/Archives/Public/w3c-wai-ua/2000AprJun/0016.html > >===================== >Issue #2: Marking up blocks (chunks) of information >Problem: Many sites have navigation bars, advertising, search forms and >then a changing content area(s). For people using speech when they move >between pages in these sites they often think they have not gone anywhere, >since the pages all sound the same at the beginning. > >My questions are: >A. What ways (if any) are there to mark up blocks of information for >improved navigation AG:: 1) this is a research topic; there is no one answer. 2) lead them off with an Hx header element 3) reflow the parse tree as indicated in the example at <http://lists.w3.org/Archives/Public/w3c-wai-ua/1999JulSep/0199.html>. 4) follow the practices in the DAISY/NISO Structure Guidelines, see references in following mail. >B. What can be done by authors (using some type of navigation links like MAP)? AG:: So far as I can tell, there are two issues combined in the question, that it would be good to separate. MAP as a container, and navigation links as something to be bundled using MAP. For structural navigation, it is the container role, and a skip-whole-container action, that are relevant. It is not the navigation links inside the MAP which support structural navigation, but the wrapper outside. If an author provides intra-page navigation by hyperlinks that have destinations within the current page, that can be helpful. It is not particulary required by the WCAG. The processing of these hyperlinks is not viewed as special structural navigation processing but rather as simply the implementation of hyperlinking as per HTML. However, the GL group has not consensed on intrapage link usage recommendations other that as a technique to skip incidental frontmatter to get more speedily to the main content of the page (see proposal cited above). It may be beneficial to alert the user that they have moved within the same page on executing an internal link. The GL group has not studied this enought to offer guidance to the UA group on this point. This is related to "notify when focus migrates between viewports. The UA group has a better handle on the issues here than the GL group, so far as I can tell. The only safe technique in HTML4.01+WCAG is to cook the parse tree similar to the example at <http://lists.w3.org/Archives/Public/w3c-wai-ua/1999JulSep/0199.html> and use human-understandable TITLE (or other labels, see above) to aid the user in reading or skipping the substructure one is currently at [the start of]. At least this is where the PF group has come down in terms of making SVG drawings comprehensible. Elements of type svg:g with a svg:title in them are treated as significant objects and may be considered to be listed out for explanatory purposes following the nesting (ancestor, not necessarily parent) relationships these elements have in the parse tree. The situation in talking books is in flux, with hopes for a convergence with Open Electronic Book specifications in the future. So a general sense of how structural navigation should work for a document that has a reasonably narrative flow in its core and a reasonable tree structure in its contents view may be gained from the DAISY/NISO documents. But the markup which keys this behavior cannot be regarded as firm at this time [personal opinion]. The resulting navigation structure, however, is a workalike for the markup practices discussed above. >C. What markup will be required to be recognized and processed by user agents? AG:: These include, but are not necessarily limited to, headers, subtrees, and relationships between a table cell and related information. Headers which are marked by the author with html:h1 .. etc. elements are very good destinations to include in a navigation-guide view. This is independent of the extent to which the author is working from a hierarchical, linear, or collection (a.k.a. 'bag' in RDF) concept of the content. Headers are understood and used often enough by authors as "orientation for what comes next" so that they should be high-priority content for inclusion in a navigation-guide view. One of the things I have learned from the talking book project is that while navigating through a hierarchical contents decomposition (as above) is highly prized by the literate, that many consumers just want you to tell them the story that is in the book, and play the sound stream of the talking book much as one would play an audio tape. The flat, linear structure of the book is more primitive and more universally usable than the hierarchical structure. HTML Headers are like the things that get listed in the table of contents for a book. They not only contain titles for the sub-parts that are organized into a hierarchy in the contents decomposition view, but they are also better-than-average starting points in the linear play-the-tape view. The reader can resume from having stopped anywhere. At chapter or section breaks, the reader can stop with the minimum baggage that they have to carry forward in terms of reading all they read before, and with the maximum help from the author in getting started again because there is a heading or section title to orient them to what is coming. For any container (i.e. non-empty) element with a good descriptive label: (where 'good' is recognized as follows...) For an implicit DIV in ISO HTML, the label is the associated header. For a TABLE, the label is the CAPTION if present, will fallback to a SUMMARY if present and CAPTION is absent with fallback to a TITLE on the TABLE element thereafter. For navigation bars appearing before the logical start-content point MAP is suggested as the container of choice. [etc. other special structures] For elements in general, the TITLE attribute should generally be used as label or identification for the substructure contained within that element, when a TITLE attribute is present. Subtrees are recognized in the DOM. Availability of a good text label as discussed above raises the priority of a subtree for inclusion in the navigation-guide view. The WCAG technique of using MAP to collect navbar contents assumes that the UA will provide the navigation capability to move the current location past a subtree such as this MAP with one navigation action. Table cell association with related information. The discussion of this topic in the UA Techniques is missing the 'scope' attribute. There are three layers of precedence in defining what other information pertains to a cell in a table. The highest precedence is an explicit 'headers' attribute on the cell itself. The second order of precedence, used only if the first is not applicable, is if the cell falls within the scope indicated in the 'scope' attribute on the corresponding header cell. The search for headers which occur earlier in the row and column respectively is the third order of precedence. Headers or effective headers are associated with a cell if they are found by applying the highest applicable order of precedence method above. If a header cell has an 'axis' attribute, this relationship extends the chain of related information containers for all cells associated with that header cell. Regardless of how the cell was associated with that header. This is only an heuristic overview. The definitive description of this is in the HTML 4.01 recommendation. The WCAG has not altered the definition of these relationships. >================ >The techniques for the following checkpoints in the User Agent Guidelines >relate to navigation: > >7.3 Allow the user to navigate all active elements. [Priority 1] These can be detected from the markup as follows: elements with an action assigned in the markup language, e.g. html:a, html:button, etc. elements with an event linked to a script, e.g. html:onHover. >7.4 Allow the user to choose to navigate only active elements. [Priority 2] > >7.6 Allow the user to navigate according to structure. [Priority 2] > AG:: One has to consider 7.6 in the context of 8.6 as well; one cannot define what is required in either by itself. Structure navigation [outside tables] is just up down and next in a tree of scopes + hotspots. The art, and make-or-break points, are all in the associated orientation features. >7.7 Allow the user to configure structured navigation. [Priority 3] User configuration and User-Agent designer selection and heuristics can both contribute here. The better one is, the less you need of the other. But the best design still probably combines element of both. AG:: >8.4 To help the user decide whether to follow a link, make available link >information supplied by the author and computed by the user agent. [Priority 3] AG:: Yes, there should be computed information when the User Agent creates a virtual hyperlink as part of a navigation-guide view. If the destination is a header, the header content is the appropriate virtual-link information. If the destination is some other container, the link information is [if a FORM or TABLE, the type and] the good label as discussed above. > >IMPACT: The results of this discussion could affect the minimum >requirements for satisfying one or more these checkpoints. AG:: Minimum implementation in a UA is ultimately a UA question. Al > >Jon > > > > > >Jon Gunderson, Ph.D., ATP >Coordinator of Assistive Communication and Information Technology >Chair, W3C WAI User Agent Working Group >Division of Rehabilitation - Education Services >College of Applied Life Studies >University of Illinois at Urbana/Champaign >1207 S. Oak Street, Champaign, IL 61820 > >Voice: (217) 244-5870 >Fax: (217) 333-0248 > >E-mail: jongund@uiuc.edu > >WWW: http://www.staff.uiuc.edu/~jongund >WWW: http://www.w3.org/wai/ua >
Received on Wednesday, 3 May 2000 15:47:35 UTC