REVISED PROPOSAL: Checkpoints for navigation

The following revisions are based on the discussions yesterday.  I included
a DOM navigation checkpoint and attempted to write the outline of a
technique for implmenting the checkpoint.

-------------------------------------------------------------------------
Checkpoint: Sequential access to active elements
Sub-groups: Both
Priority: 1

Technique
Allow the user to sequentially move the focus of the user agent to each of
the active elements of a document.   The active elements include links,
form controls and long descriptions.

-------------------------------------------------------------------------
Checkpoint: Search for an element based on its text content
Sub groups: Both
Priority: 1

Techniques
If text is found in the document the selection moves to the matching text
and element.  The text content of form controls and the text attributes of
elements can optionally be included in the search and if a match is found
the focus is moved to the control with the matching text.

Control elements with text content:
Input 
Textarea 
Option 
Legend

Initial list of Attributes of Elements 
Title 
Name 
Summary


-------------------------------------------------------------------------
Checkpoint: Sequential access to all elements
Sub groups: Dependent user agents
Priority: 1

Techniques:
Allow the user to sequentially move through all block (paragraph) level
elements in a document.  The current element is selected as the user
navigates between blocks.  A initial list of block (paragraph) level elements:

DD		Definition 
DIV		Division
DT		Definition term
H1-H6		Headers
LI		List elements
P		Paragraphs
PRE		Preformatted text
TH		Table header
TD		Table data
INPUT		Form controls
TEXTAREA	Form control
LEGEND 	Form label 
FIELDSET 	Form divisions
CITE 		Citation text
CODE 		Code text
SAMP
KBD		Keyboard text


-------------------------------------------------------------------------
Checkpoint: Allow the user to access the text information of an element
Sub groups: Dependent user agents
Priority: 1

Technique
Allow the user to view the text content of an element including the viewing
of single characters, words and sentences with in the element.

-------------------------------------------------------------------------
Checkpoint: Allow the user to move the focus to a frame from a list
Sub groups: Both
Priority: 1

Techniques
The user can access a list of frame elements in the current document.

Implementation Idea #1 (basic)
There is command that allows a user to move the focus to the next or the
previous frame in the document sequentially.  Only frames are traversed by
the command.

Implementation Idea #2  (advanced)
The user agent generates a list of frames.  The text items in the list are
based on the NAME attribute or physical position on the screen. The user
can use cursor keys or the first letter to move through the list of frames.
 The cursor keys allow for moving one or multiple items in the list
depending on the cursor key pressed:

Common cursor keys
up or left arrow		next frame in list
down or right arrow	previous frame in list
home			first frame in list
end			last frame in list
number keys		move to the Nth frame in list
enter key		move focus to frame in the document

Selecting a control moves the focus to that frame in the document.
-------------------------------------------------------------------------
Checkpoint: Search for a link based on its text content
Sub groups: Dependent user agents
Priority: 2

Techniques
Allow the user to search for a link based on the text contents of the links
in a document.  Images that are part of the links the text content will be
considered the ALT text. If the text is found in a link the focus is moved
to that link.

-------------------------------------------------------------------------
Checkpoint: Allow the user to move to a header from a list
Sub groups: Dependent user agents
Priority: 2

Techniques
The user can access a list of only header elements. 

Implementation Idea #1 (basic)
There is command that allows a person to move the selection to the text
content of each header in the document sequentially.  Only headers are
traversed by the command.

Implementation Idea #2  (advanced)
The user agent generates a list of headers in the document.   The user can
use cursor keys or the first letter to move through the list of headers.
The cursor keys allow for moving one or multiple items in the list
depending on the cursor key pressed:

Common cursor keys
up or left arrow		next header in list
down or right arrow	previous header in list
home			first header in list
end			last header in list
page down		move N header forward in the list 
page up			move N header backwards in the list
letter keys		move to the next header that starts with that letter
enter key		move focus to header in the document

Selecting a link moves the selection to the header in the document.

-------------------------------------------------------------------------
Checkpoint: Allow the user to select a link from a list
Sub groups: Dependent user agents
Priority: 2

Techniques
The user can access a list of only link (anchor) elements.  Links that are
part of images will use the ALT text for the text content of the link.

Implementation Idea #1 (basic)
There is command that allows a person to move the focus to each link in the
document sequentially.  Only links are traversed by the command.

Implementation Idea #2  (advanced)
The user agent generates a list based on the text content of each link in
the document.  The text content could include additional information on
whether the link is registered with the user agent as being visited or
unvisited.  The user can use cursor keys or the first letter to move
through the list of links.  The cursor keys allow for moving one or
multiple items in the list depending on the cursor key pressed:

Common cursor keys
up or left arrow		next link in list
down or right arrow	previous link in list
home			first link in list
end			last link in list
page down		move N links forward in the list 
page up			move N links backwards in the list
letter keys		move to the next link that starts with that letter
enter key		move focus to link in the document

Selecting a link moves the focus to that link in the document.

-------------------------------------------------------------------------
Checkpoint: Direct access to a link from a list of visited links
Sub groups: Dependent user agents
Priority: 3

Techniques
The user can access a list of only link (anchor) elements that are
currently registered as being visited by the user agent.  Links that are
part of images will use the ALT text for the text content of the link.

Implementation Idea #1 (basic)
There is command that allows a person to move the focus to each visited
link in the document sequentially.  Only visited links are traversed by the
command.

Implementation Idea #2  (advanced)
The user agent generates a list of visited links.  The user can use cursor
keys or the first letter to move through the list of visited links.  The
cursor keys allow for moving one or multiple items in the list depending on
the cursor key pressed:

Common cursor keys
up or left arrow		next link in list
down or right arrow	previous link in list
home			first link in list
end			last link in list
page down		move N links forward in the list 
page up			move N links backwards in the list
letter keys		move to the next link that starts with that letter
enter key		move focus to link in the document

Selecting a link moves the focus to that link in the document.

-------------------------------------------------------------------------
Checkpoint: Direct access to a link from a list of unvisited links
Sub groups: Dependent user agents
Priority: 3

Techniques
The user can access a list of only link (anchor) elements that are
currently registered as being unvisited by the user agent.  Links that are
part of images will use the ALT text for the text content of the link.

Implementation Idea #1 (basic)
There is command that allows a user to move the focus to each unvisited
link in the document sequentially.  Only unvisited links are traversed by
the command.

Implementation Idea #2  (advanced)
The user agent generates a list of unvisited links.  The user can use
cursor keys or the first letter to move through the list of unvisited
links.  The cursor keys allow for moving one or multiple items in the list
depending on the cursor key pressed:

Common cursor keys
up or left arrow		next unvisited link in list
down or right arrow	previous unvisited link in list
home			first unvisited link in list
end			last unvisited link in list
page down		move N unvisited links forward in the list 
page up			move N unvisited links backwards in the list
letter keys		move to the next unvisited link that starts with that letter
enter key		move focus to unvisited link in the document

Selecting a link moves the focus to that unvisited link in the document.

-------------------------------------------------------------------------
Checkpoint: Allow the use to move the focus to the first control of a form
from a list
Sub groups: Dependent user agent
Priority: 3

Techniques
The user can access a list of forms on a page and move the focus to the
first control in the form.

Implementation Idea #1 (basic)
There is command that allows a user to move the focus to the first form
control in the next or previos form in the document sequentially.  Only the
first form control in each form are traversed by this command.

Implementation Idea #2  (advanced)
The user agent generates a list of forms.  The text items in the list
represent the TITLE or document order position of the form.  The user can
use cursor keys or the first letter to move through the list of form
controls.  The cursor keys allow for moving one or multiple items in the
list depending on the cursor key pressed:

Common cursor keys
up or left arrow		next next from in list
down or right arrow	previous previous form in list
home			first form in list
end			last form in list
number keys		move to the N form in list
enter key		move focus to control in the document

Selecting a control moves the focus to that form control in the document.


-------------------------------------------------------------------------
Checkpoint: Allow the user to move the focus to a form control from a list
Sub groups: Dependent user agents
Priority: 2

Techniques
The user can access a list of only form control elements.

Implementation Idea #1 (basic)
There is command that allows a user to move the focus to the next or the
previous form control in the document sequentially.  Only form controls are
traversed by the command.

Implementation Idea #2  (advanced)
The user agent generates a list of form controls.  The text items in the
list represent the all the form controls in the document.  The text items
are based on the form label or the type of control with additional
information on which form the control is associated with if there is more
than one form in the document. The user can use cursor keys or the first
letter to move through the list of form controls.  The cursor keys allow
for moving one or multiple items in the list depending on the cursor key
pressed:

Common cursor keys
up or left arrow		next control in list
down or right arrow	previous control in list
home			first control in list
end			last control in list
page down		move N control forward in the list 
page up			move N control backwards in the list
letter keys		move to the next control that starts with that letter
enter key		move focus to control in the document

Selecting a control moves the focus to that form control in the document.

-------------------------------------------------------------------------
Checkpoint: Allow the user to select a long description of an image from a
list 
Sub groups: Dependent user agents
Priority: 2

Techniques
The user can access a list of only long descriptions from images.

Implementation Idea #1 (basic)
There is command that allows a user to move the focus to the next or the
previous long description link for an image or object in the document
sequentially.  Only images and objects with long descriptions information
are traversed by the command.

Implementation Idea #2  (advanced)
The user agent generates a list of long descriptions links available for
images and objects in the document.  The text items in the list are based
on the ALT text for the image or object. The user can use cursor keys or
the first letter to move through the list of long description links.  The
cursor keys allow for moving one or multiple items in the list depending on
the cursor key pressed:

Common cursor keys
up or left arrow		next long description  links in list
down or right arrow	previous long links description links in list
home			first long description links in list
end			last long description links in list
page down		move N long description links forward in the list 
page up		move N long description links backward in the list
letter keys		move to the next long description link that starts with that
letter
enter key		move focus to long description link in the document

Selecting a long description label moves the focus to long description link
in the document.

-------------------------------------------------------------------------
Checkpoint: Allow the user to move the selection to a table from a list
Sub groups: dependent user agents
Priority: 2

Techniques
The user can access a list of table elements in the current document.

Implementation Idea #1 (basic)
There is command that allows a user to move the selection to the next or
the previous table in the document sequentially.  Only tables are traversed
by the command.  If tables are imbedded, then the next or previous table is
determined by depth first ordering of tables in the DOM. 

Implementation Idea #2  (advanced)
The user agent generates a list of tables in the document.  The text items
in the list are based on the CAPTION element or the physical dimensions of
the table.  Information is also included on whether a table is embedded in
another table. The user can use cursor keys or the first letter to move
through the list of tables.  The cursor keys allow for moving one or
multiple items in the list depending on the cursor key pressed:

Common cursor keys
up or left arrow		next table in list
down or right arrow	previous table in list
home			first table in list
end			last table in list
number keys		move to the N table in list
enter key		move selection to table in the document

Selecting a control moves the focus to that frame in the document.

-------------------------------------------------------------------------
Checkpoint: Search for the next element with the same attributes as the
current element
Sub groups: Dependent user agents
Priority: 2 or 3

Technique
Allow the user to move to the next or previous element of the same element
type and attributes.  If an author used poor formatting methods this
provides a means to navigate the structures of a document using the authors
representation of the informaiton.

-------------------------------------------------------------------------
Checkpoint: Allow the user to navigate the Document Object Model (DOM)
Sub groups: Dependent user agents
Priority: 2

Technique
Navigating the document tree (as defined in the DOM level 1 specification)
provides access to the contents of every element in the document.  This
technique is designed to meet the needs of the users who require access to
individual elements and their attributes to determine the document contents
or prefers the tree metaphor for navigating the document.  

Every node in the Document Object Model tree represents an element and its
associated elements.   Every node has a parent node and potentially
siblings, children and text content.  There are three basic navigation
commands for navigating the document tree:

Move to the parent node
Move to a sibling node
Move to a child node

Moving to children or siblings could accomplished using the list techniques
described for other checkpoints.

At each node the user should be oriented to the type of element the node
represents.  

The types of user commands that need to be available at each node include:
View text content of node (is this the same as view children?)
View text content of children
View text content of the siblings before or after this node in the tree
View element attributes of the node
View summary information on the number and element type of siblings
View summary information on the number and element type of children
View summary information on element location in the document tree

-------------------------------------------------------------------------




Jon Gunderson, Ph.D., ATP
Coordinator of Assistive Communication and Information Technology
Division of Rehabilitation - Education Services
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
	http://www.als.uiuc.edu/InfoTechAccess

Received on Thursday, 29 April 1999 16:28:23 UTC