Eval of UAGL Using HAL, MSIE, NS, & Opera (version 1.0)

CONFORMANCE EVALUATION OF THE 27 AUGUST WORKING GROUP DRAFT OF THE WAI USER
AGENT GUIDELINES, USING HAL95/NT, version 1.0
        RELEASE DATE: 1 SEPTEMBER 1999

PART ONE: INTRODUCTORY COMMENTS AND NOTES

A) MATERIALS USED IN THIS CONFORMANCE EVALUATION
A1. Assistive Technology Used in This Evaluation:
  HAL for Windows 9x/NT, version 3.03 (manufactured by
  Dolphin Computer Access, LLC
  <http://www.dolphinusa.com/>) using "JAWS" key set
  emulation

A2. Speech Synthesizer:
  Dolphin Orpheus software synthesizer (running on a
  NeoMagic MagicWave 3DX Sound System (driver: NMA255.VXD
  version 4.03.2420

A3. Operating System:
  Windows95 (version 4.01.0.971.B)

A4. Computer:
  Gateway Solo 2500 (laptop; using Micron Windows95
  keyboard) with 96MB RAM and a Pentium II processor
  running at 366MHz

A5. Browsers Evaluated:
  Microsoft Internet Explorer, version 5.00.2314.1003
     (MSIE update versions: ;q231452;q231450;3717)
  Netscape Navigator, version 4.08
  Opera, version 3.60

B) Specialized Browser Configuration Settings, Set in
Accordance with Dolphin Access' "Application Readme for Hal
95/NT"

  B1) Specialized Setting for Use With MSIE
  [NOTE: No analogous information or list of configuration
  settings was provided for Netscape or Opera.]
  
  -- begin quote
  Hal works well with Microsoft Internet Explorer 4.0, but
  doing the
  following will ensure that it runs optimally:
  
  1.  Turn off Internet Explorer's Status Bar.[GJR:
  disabled MSIE status bar for duration of review]
  
     This can be done by entering Internet Explorer's View
     menu using ALT+V and then deselecting the Status Bar
     option by pressing S.
     
     Doing this will ensure that the application's focus
     will be in the window containing the web page by
     default.
     
     [GJR's note: Whilst disabling the Status Bar allows HAL
     to start voicing the content being rendered by MSIE
     immediately and reliably, in order to compensate for
     the loss of feedback that the Status Bar can provide,
     HAL should announce when the page has finished loading.
     Likewise, it should be able to aurally alert the user
     to the other types of information that is made
     available via the Status Bar: i.e. "Making Connection",
     "Web Site Found", etc., especially since HAL offers a
     "Read Status Bar" hotkey. And, although the tips quoted
     here were issued prior to the release of IE5, they
     still apply, as screen echoing of rendered content by
     HAL is severely hampered by presence of the MSIE Status
     Bar. An additional complication is the use of sound
     cards to perform speech synthesis -- if the status
     information is being communicated to the user via
     canned audio files, the software synthesizer
     manufacturer must be careful to ensure that the sound
     card is able to play the 2 most common Windows-
     compatible audio formats -- WAV and AU -- without
     interfering with speech synthesis.]
  
  2.  Alter the following options in the Advanced property
  sheet of Internet
  Explorer 4's Properties, as they will enable Internet
  Explorer 4 to work better with screen readers in general:
  
     Turn on "Move system caret with focus/selection
     changes" in the
     Accessibility branch [GJR: this is the configuration I
     normally use.]
     
     Turn on "Always expand alt text for images" in the
     Accessibility branch. [GJR: this is the configuration I
     normally use.]
     
     Turn off "Use AutoComplete" in the Browsing branch.
     This will stop Internet Explorer from trying to guess
     what URL you are typing in the Address Bar and try to
     complete it automatically for you.  This can be very
     confusing, as this feature keeps altering the name of
     the URL as you're typing. [GJR: this is the
     configuration I normally use.]
  
  3.  Turn off the Links option in the Toolbars sub-menu of
  Explorer's View menu.  This is because in Explorer 4.0
  you can TAB from object to     object and removing Links
  means there's once less TAB to go through to put the
  focus back onto the web page again. [GJR: this is the
  configuration I normally use.]
  -- end quote

C) ABBREVIATIONS & CONVENTIONS

  IE5: Microsoft Internet Explorer, version 5.00.2314.1003
  (update versions: ;q231452;q231450;3717)
  
  N48: Netscape Navigator, version 4.8
  
  O36: Opera, version 3.60
  
  NOTE: For purposes of searching, each guideline is
  preceded by a plus (+) sign.


PART TWO: CONFORMANCE EVALUATION OF THE 27 AUGUST WORKING
GROUP DRAFT OF THE WAI USER AGENT GUIDELINES, USING HAL95/NT

+ Guideline 1. Support input and output device-independence

1.1 Ensure that all functionalities offered through the user
interface may be operated through standard input device APIs
supported by the operating system. [Priority 1]

IE5: "MouseOver" events, such as the exposition of the TITLE
attribute (when contained in the A, ABBR, ACRONYM, or HR
elements) were not voiced when mouse-emulation was used to
navigate a document encoded using the TITLE attribute for
both hyperlinks and horizontal rules [Document tested:
<http://www.hicom.net/~oedipus/vicug/index.html>]

N48: Netscape crashes when attempting to load
  <http://www.hicom.net/~oedipus/vicug/index.html>
even though the document source for that page uses W3C
validated HTML4 and CSS2.  Invariably, the error message
returned by Windows95 is:
     NETSCAPE caused an invalid page fault in
     module <unknown> at 0000:00000009.
     [NOTE: further details deleted]

When using HAL with N48, neither the hyperlink text nor the
TITLE (if present) associated with hyperlinks are voiced
when tabbing from link to link.  This is true on every page
that did not cause N48 to crash, including the WCAG
     <http://www.w3.org/TR/WAI-WEBCONTENT/>

O36:: Using Opera's "Go to URL/address field" keystroke
(F8), caused the focus to be switched to the appropriate
point of regard, but the URL/address was not automatically
voiced.  In order to ascertain that the cursor had been
routed to the URL/address bar, and to have it spoken, it was
necessary to route the application cursor to the speech
(mouse-emulation/navigation) cursor.  In order to move out
of the URL/address bar, it was necessary to use Opera's
"Restore focus on current window" (F9) keyboard command.
Doing so, however, caused HAL to echo the screen erratically
as I resumed navigating the rendered content (in the midst
of an ordered list) link by link. The first hyperlink moved-
to using Opera's CONTROL-DownArrow command was announced as
"Edit Area", while the hyperlink text of the next hyperlink
moved-to was voiced correctly. This alternation continued
until I moved out of the ordered list, and was not
alleviated by reloading the page, using Opera's F5
keystroke. [Document tested:
<http://www.hicom.net/~oedipus/vicug/index.html>] It should
be further notice that the aural black holes were caused by
the use of markup within the hyperlink text--either ACRONYM,
ABBR, or EM.  However, this phenomenon is apparently limited
to hyperlinks contained in either an ordered or unordered
list, as similarly marked up hyperlink text NOT contained
within an ordered or unordered list is correctly voiced by
HAL. The items in the ordered list which were not spoken
upon receiving focus contained in the URI cited above are,:
2, 4, 7, 8, 10, 12, and 14.

1.2 Ensure that the user can interact with all active
elements of a document in a device independent manner.
[Priority 1]

IE5: if alternative textual equivalents are present, the
image map is keyboard navigable.

N48: Hot areas of image-maps not voiced when selected by
sequential navigation, despite presence of ALT attribute in
AREA element.

O36: Voiced with clarity and precision by Opera, due to
presence of ALT attribute in AREA element; navigation
performed via CONTROL+DownArrow and CONTROL+UpArrow keys

1.3 Ensure that the user can install the user agent software
in a
device independent manner. [Priority 1]

IE5: I have not tried to install MSIE using HAL--rather, I
used JAWS for WINDOWS (JFW), which is the screen reader with
which I am most comfortable and familiar to install IE5.
For comments upon the installation of IE5 using JFW 3.3,
please refer to:
<http://lists.w3.org/Archives/Public/w3c-wai-
ua/1999JulSep/0292.html>

N48: I have (yet) not tried to install N48 using HAL, but
upon request, I shall.

O36:
  1. "Welcome" window completely self-voiced
  2. "Software License Agreement" window: only the window
  title and active control ("Next" button) self-voiced.
  HAL's "Read the current application's title bar followed
  by the current focus" command caused only the window
  title and active control ("Next" button) to be voiced.
  Only by tabbing to the scrolling child window/non-
  editable text-entry field that contains the actual
  license agreement was the window's header ("Software
  License Agreement") and the license agreement text
  spoken.
  3. "Select Destination Directory" window completely self-
  voiced.
  4. "Select Group" window: only window title and the
  control with focus ("Next" button) self-voiced.
  [NOTE: at this point I canceled the installation, since I
  already have Opera 3.6 installed on the computer I am
  using to perform this evaluation. The confirmation of the
  cancellation dialog box completely self-voiced.]

1.4 Ensure that the user can configure the user agent in a
device
independent manner. [Priority 1]

IE5, N48, and O36: One of the strategies used by blind and
low vision cybernauts operating in the GUI environment is to
force the user agent to ignore author-defined colors for
hyperlink text, so that it is always displayed in a
consistent, uniform manner.  This includes the use of user-
defined colors for visited and unvisited links, which is not
only useful for the low vision user, but also for the blind
user.  Under adverse circumstances (which, for the purposes
of this review includes using HAL with Netscape), a blind
user will be forced to use screen review commands to have
the font attributes for a character (or a selected/highlit
string of text) spoken, so as to ascertain whether or not
the mouse-emulation cursor is positioned on a hyperlink, and
whether or not that hyperlink has been previously selected.
All three of the user agents examined in this evaluation
offer the user some level of control over the visual
presentation of hyperlink text. [NOTE: Please refer to the
comments following Checkpoint 9.6 for further discussion of
this issue.] Of the three, Opera offers the greatest amount
of user configurability for hyperlink presentation --
enabling the user to configure the browser so that, for
example, unvisited links are underlined and visited
hyperlink text appears struck-through, thereby allowing the
user a supplemental means of distinguishing between visited
and unvisited links. All three user agents provide the user
with the ability to define his or her own color scheme for
visited and unvisited links, along with the option to
override colors defined for a document by the document's
author. All three, however, also fail to provide alternative
textual equivalents for the colors available to the user,
instead presenting the choice of colors as a palette
comprised of "swatches-in-a-box", which are completely
inaccessible to the blind user without sighted assistance.

1.5 Ensure that the user can access user agent documentation
in a device independent manner. [Priority 1]

IE5: Help layout is annoying, since there is no "no frames"
option

N48: "NetHelp" layout is atrociously graphically and
visually oriented, and, hence, extremely disorienting to
anyone using speech output.  It is one of the most speech-
hostile environments that I personally have ever encountered
-- and one of the most frustrating, since it refuses to shut
.down in response to keyboard input (ALT+F4; ALT-SpaceBar,
C) and has to be closed either by a sighted assistant with a
mouse or via the "Close Program" interface.

O36: Help files available as hypertext documents. Option to
switch between framed and no-framed version of the help
files provided.

1.6 Ensure that all messages to the user (e.g., warnings,
errors, etc.) are available through standard output device
APIs supported by the operating system. [Priority 1]

IE5: Information conveyed via the status/navigation bar.
N48: Information conveyed via the status/navigation bar.
O36: Information conveyed via the status/navigation bar.

+ Guideline 2. Ensure keyboard access to user agent
functionalities

2.1 By default and without additional customization, ensure
that all functionalities offered by the user agent are
accessible using the keyboard. [Priority 1]
  Note. This checkpoint intends to ensure compatibility
  with dependent user agents that rely on keyboard input.
  Functionalities include being able to show, hide, resize
  and move windows or panes created by the user agent.

IE5: yes
N48: yes
O36: yes

2.2 Provide documentation on default keyboard commands and
include with user agent documentation and/or user help
system. [Priority 1]

IE5: yes, quite clearly

N48: extremely brief and perfunctory -- only gross
navigation possible via keyboard input: PageUp, PageDown,
UpArrow, DownArrow, ALT+LeftArrow (to go back), TAB (to
location field, then to FORM controls, if present)

O36: yes -- very strong

2.3 Provide information to the user about the current
keyboard
configuration. [Priority 1]

IE5: clear and concise
N48: non-existent
O36: clear and concise

2.4 Allow the user to configure the keystrokes used to
activate user
agent functionalities. Wherever possible, allow single key
activation of functions. [Priority 2]

IE5: yes
N48: unavailable / not documented
O36: yes

2.5 Allow the user to turn on and off author-specified
keyboard
configurations. [Priority 2]

IE5: implementation of ACCESSKEY spotty; TABINDEX broken

N48: ACCESSKEY and TABINDEX not supported/recognized

O36: ; implementation of ACCESSKEY spotty; TABINDEX works
extremely well

2.6 Use platform conventions to indicate which keys activate
which
user agent functionalities. [Priority 2]

IE5: well integrated into normal menus, dialog boxes, and
property sheets

N48: integrated into normal menus

O36: well integrated into normal menus, dialog boxes, and
property sheets

2.7 Avoid default keyboard configurations that interfere
with system
conventions. [Priority 2]

IE5: yes
N48: yes
O36: confusing use of some default Windows keyboard
commands, particularly CONTROL+F, which activates FORM-
navigation mode, rather than a "Search for." dialog box.

2.8 Provide a default keyboard configuration for frequently
performed operations. [Priority 3]

IE5: yes
N48: minimal (refer also to comments on Checkpoint 2.2)
O36: yes

+ Guideline 3. Ensure user access to document content

General checkpoints:

3.1 Ensure that the user has access to document content,
including
alternative representations of content. [Priority 1]

IE5: support for ALT and limited support for TITLE element
(supported in A, and by MouseOver for ACRONYM)

N48: support for ALT

O36: support for ALT; limited support for TITLE element
(displayed in a discrete status bar)

3.2 For dependent user agents only. Ensure that the user has
access to the content of an element selected by the user.
[Priority 1]

IE5: no
N48: no
O36: no, save for FORM content

3.3 For dependent user agents only. Render content according
to
natural language identification. For unsupported natural
languages, notify the user of language changes when
configured
to do so. [Priority 1]

IE5: no (version of HAL used supports only US English)
N48: no (version of HAL used supports only US English)
O36: no (version of HAL used supports only US English)

3.4 Provide time-independent access to time-dependent active
elements or allow the user to control the timing of changes.
[Priority 1]

IE5: no
N48: no
O36: no

3.5 When no alternative text representation has been
specified, indicate what type of object is present.
[Priority 2]

IE5: no (if so, visually displayed without alternative
textual equivalent)
N48: no
O36: yes

3.6 When alternative text has been specified explicitly as
empty  (i.e., an empty string), render nothing. [Priority 3]

IE5: yes
N48: yes
O36: yes

Checkpoints for captions and description tracks:

3.7 Allow the user to specify that description tracks (e.g.,
caption, auditory description, video of sign language, etc.)
be rendered at the same time as audio and video tracks.
[Priority 1]

IE5: not applicable
N48: not applicable
O36: not applicable

3.8 If a technology allows for more than one description
track (e.g.,caption, auditory description, video of sign
language, etc.), allow the user to choose from among the
tracks. [Priority 1]

IE5: not applicable
N48: not applicable
O36: not applicable

Checkpoints for audio:

3.9 If a technology allows for more than one audio track,
allow the user to choose from among tracks. [Priority 1]

IE5: not applicable
N48: not applicable
O36: not applicable


+ Guideline 4. Allow the user to turn off features that may
reduce accessibility

4.1 Allow the user to turn on and off rendering of images.
[Priority 1]

IE5: yes
N48: yes
O36: yes

4.2 Allow the user to turn on and off rendering of
background images. [Priority 1]

IE5: yes

N48: yes, although from the "Color" property sheet, it is
unclear that background image loading will be disabled when
the "Always use my colors, overriding document" checkbox is
checked

O36: yes

4.3 Allow the user to turn on and off rendering of video.
[Priority 1]

IE5: yes

N48: not clear either from preferences property sheets, nor
from product documentation

O36: yes

4.4 Allow the user to turn on and off rendering of sound.
[Priority 1]

IE5: yes
N48: not clear either from preferences property sheets, nor
from product documentation
O36: yes

4.5 Allow the user to turn on and off rendering of audio
captions. [Priority 1]

IE5: not applicable
N48: not applicable
O36: not applicable

4.6 Allow the user to turn on and off animated or blinking
text. [Priority 1]

IE5: theoretically, this can be disabled by checking all 3
checkboxes in the "Formatting" group in the "Accessibility"
property sheet.

N48: option not explicitly included in "Preferences"
property sheets

O36: option not explicitly included in "Preferences"
property sheets, but in theory, yes

4.7 Allow the user to turn on and off animations and
blinking images. [Priority 1]

IE5: allows user to turn off animation (although as for the
question of whether or not it works, I have no independent
verification either way.)

N48: allows user to turn off animation (although as for the
question of whether or not it works, I have no independent
verification either way.)

O36: allows user to turn off animation (although as for the
question of whether or not it works, I have no independent
verification either way.)

4.8 Allow the user to turn on and off support for scripts
and applets. [Priority 1]

IE5: yes
N48: yes
O36: yes

4.9 Allow the user to turn on and off support for user style
sheets. [Priority 1]

IE5: no
N48: no
O36: yes

4.10 Allow the user to turn on and off support for author
style sheets. [Priority 1]

IE5: no, allows the user to specify their style sheet, but
author style sheets
cannot be totally disabled.
N48: no, allows the user to specify their style sheet, but
author style sheets
cannot be totally disabled.
O36: yes

4.11 Allow the user to turn on and off support for spawned
windows. [Priority 1]

IE5: unclear if such an option is supported
N48: unclear if such an option is supported
O36: yes

4.12 Allow the user to turn on and off rendering of frames.
[Priority 2]

IE5: no
N48: no
O36: yes

4.13 Allow the user to turn on and off author-specified page
forwards that occur after a time delay and without user
intervention. [Priority 3]

IE5: no
N48: no
O36: unclear if such an option is supported

4.14 Allow the user to turn on and off automatic page
refresh. [Priority 3]

IE5: no
N48: no
O36: unclear if such an option is supported


+ Guideline 5. Ensure user control over document styles

Checkpoints for fonts and colors:

5.1 Allow the user to control font family. [Priority 1]

IE5: yes
N48: yes
O36: yes

5.2 Allow the user to control the size of text. [Priority 1]

IE5: yes
N48: yes
O36: yes

5.3 Allow the user to control foreground color. [Priority 1]

GENERAL NOTE: The color palettes available for all three
browsers lack alternative textual equivalents of the
available colors.

IE5: yes
N48: yes
O36: yes

5.4 Allow the user to control background color. [Priority 1]

GENERAL NOTE: The color palettes available for all three
browsers lack alternative textual equivalents of the
available colors.

IE5: yes
N48: yes
O36: yes

5.5 Allow the user to control selection highlighting (e.g.,
foreground and background color). [Priority 1]

GENERAL NOTE: As a totally blind user, I am not sure what
level of user-control (if any) Windows 9x's "High Contrast"
mode (part of the Control Panel's "Accessibility Options")
exerts over highlighting.

IE5: not via UA
N48: not via UA
O36: not via UA

5.6 Allow the user to control focus highlighting (e.g.,
foreground and background color). [Priority 1]

GENERAL NOTE: As a totally blind user, I am not sure what
level of user-control (if any) Windows 9x's "High Contrast"
mode (part of the Control Panel's "Accessibility Options")
exerts over highlighting.

IE5: possible via a user style sheet

N48: theoretically possible via a user style sheet

O36: yes, via the "Invert Marked Text" setting contained in
the "Document Appearance" property sheet; as noted in the
product documentation, this setting greatly enhances a
screen reader's ability to monitor focus highlighting when
navigating from link to link.

Checkpoints for applets and animations:

5.7 Allow the user to control animation rate. [Priority 2]

IE5: not applicable
N48: not applicable
O36: not applicable

Checkpoints for video.

5.8 Allow the user to control video frame rates. [Priority
1]

IE5: not applicable
N48: not applicable
O36: not applicable

5.9 Allow the user to control the position of audio
captions. [Priority 1]

IE5: not applicable
N48: not applicable
O36: not applicable

5.10 Allow the user to start, stop, pause, and rewind video.
[Priority 2]

IE5: not applicable -- video support via a plug-in
N48: not applicable -- video support via a plug-in
O36: not applicable -- video support via a plug-in

Checkpoints for audio:

5.11 Allow the user to control audio playback rate.
[Priority 1]

IE5: not applicable -- audio support via a plugin
N48: not applicable -- audio support via a plugin
O36: not applicable -- audio support via a plugin

5.12 When the user agent renders audio natively, allow the
user to control the audio volume. [Priority 2]

IE5: not applicable -- audio support via a plugin
N48: not applicable -- audio support via a plugin
O36: not applicable -- audio support via a plugin

5.13 Allow the user to start, stop, pause, and rewind audio.
[Priority 2]

IE5: not applicable -- audio support via a plugin
N48: not applicable -- audio support via a plugin
O36: not applicable -- audio support via a plugin

Checkpoints for speech:

GENERAL NOTE: None of the targeted user agents provides
native support for speech; HAL, of course, offers control
over speech rate, speech volume, pitch, gender and other
articulation characteristics

5.14 Allow the user to control speech playback rate.
[Priority 1]

IE5: not applicable
N48: not applicable
O36: not applicable

5.15 Allow the user to control speech volume, pitch, gender
and other articulation characteristics. [Priority 2]

IE5: not applicable
N48: not applicable
O36: not applicable

Checkpoints for changes to the user interface:

5.16 When new windows or user interface components are
spawned, allow the user to control window size and position.
[Priority 2]

IE5: although, in theory, it should, even though I have set
IE5 to run Maximized, when a new window is spawned it is
spawned as a "Normal" window

N48: no

O36: While Opera offers a host of options, and respects
window sizing when spawning new windows, the only effective
way to use Opera with a GUI screen reader is to set Opera to
run maximized at startup, and to cascade new windows. It is
then possible to cycle through the open windows using the
CONTROL+TAB keystroke. The biggest shortcoming of this
strategy is that Opera does not inform the screen reader
user (at least, not those using HAL, JFW, or Window-Eyes)
that a new child window has been spawned. The "Tile" option
is not an option, as the horizontally truncated windows are
incompletely voiced, even when navigating link-by-link, for
the first principle of most screen readers is that they can
only read what is displayed in the current viewport  The
"Tile Horizontal" option, while superior to the "Tile"
option, can be problematic when attempting to use a screen
reader's "continuous read" command.

+ Guideline 6. Observe system conventions and standard
interfaces

6.1 Use and provide accessible interfaces to other
technologies. [Priority 1]
  To promote interoperability, open standards and W3C
  specifications should be used wherever possible.

IE5: online help needs desperately to be (a) validated, and
(b) made WCAG Triple-A compliant; use of scripting should be
optional, as should the use of frames

N48: online help needs desperately to be (a) validated, and
(b) made WCAG Triple-A compliant; use of scripting should be
optional, as should the use of frames

O36: aside from the previously mentioned key conflicts,
Opera is a very intelligently designed tool -- once, that
is, you get the hang of using a very intelligently designed
tool!

6.2 Provide programmatic read and write access to user agent
functionalities and user interface controls (including
selection and focus) by using operating system and
development language accessibility resources and
conventions. [Priority 1]

IE5: PowerToys (for IE4) and PowerTweaks (for IE5), too
mouse centric.
As noted in the comments on Checkpoint 8.5, it is actually a
pleasure to use HAL when searching for a text-string
contained within a hyperlink, as the focus is routed to the
search term, which therefore becomes the current point of
regard.  This means that one can activate the cursor at the
current (highlit) point of regard simply hitting TAB, and
then hitting ENTER (if the link found is the link for which
you were searching) to activate the link.  If the link is
not the link for which you were searching, tabbing moves you
forward, link-by-link, from the first instance of the text
string for which you were searching.

N48: keyboard support in Netscape has always been extremely
poor; use of custom controls often problematic, as is use of
scripting in documentation

O36: While I am encouraged by the progress made by Opera in
addressing accessibility issues since I first attempted to
use Opera to surf the web, there still is much work to be
done in order to eliminate the keybinding conflicts between
Opera and the Windows 9x environment.

6.3 Notify dependent user agents of changes to the document
and user interface controls (including selection and focus)
by using operating system and development language
accessibility resources and conventions. [Priority 1]

IE5: HAL unaware when new windows spawned or when the
viewport moved from frame to frame.

N48: HAL unaware when new windows spawned or when the
viewport moved from frame to frame.

O36: HAL unaware when new windows spawned or when the
viewport moved from frame to frame.

6.4 For graphical desktop browsers only. Comply with W3C
Document Object Model specifications and export interfaces
defined by those specifications. [Priority 1]

IE5: Web Developer's DOM tool (adds "Document Tree" menu
item to the "Tools" menu) is useless for anyone using speech
output, as the window does not voice unless screen review
(mouse emulation) mode is engaged.  Moreover, since the
output is javascripted, none of the items contained in the
"Document Tree" can be navigated via IE's keybindings, but
only via mouse emulation keys, despite the presence of an
ACCESSKEY defined in the document source (I was unaware of
the ACCESSKEY's existence until I listened to the document
source for the "Document Tree" window.

N48: not available or not documented
O36: not available or not documented

6.5 For graphical desktop browsers only. Provide
programmatic exchange of information in a timely manner.
[Priority 2]

IE5: no -- does not provide timely access to the DOM
N48: unavailable or undocumented
O36: unavailable or undocumented

6.6 Follow operating system conventions and accessibility
settings. In particular, follow conventions for user
interface design, default keyboard configuration, product
installation, and documentation. [Priority 2]

IE5: labeling of controls spotty: in the "Save As" dialog
box, for example, none of the screen readers I have used
recognized the "Up One Level" or "Create New Folder"
graphics without being the graphics first being manually
labeled.

N48:poor native keyboard support; documentation largely
inaccessible; perhaps the biggest problem, however, is the
lack of a system caret that moves with focus and/or
selection changes

O36: there still is much work to be done in order to
eliminate the key configuration conflicts between Opera and
the Windows 9x environment.


+ Guideline 7. Support applicable W3C technologies and
guidelines

7.1 Implement the accessibility features defined for
supported specifications. [Priority 1]

IE5: support spotty -- particular areas of concern are: FORM
controls (especially the broken TABINDEXing); lack of
uniform and keyboard addressable support for the TITLE
attribute; does not support LONGDESC

N48: support either incidental, or non-existent

O36: support spotty (handles FORM controls better than IE5
or N48); needs cleaner way of handling -- and passing along
to AT -- support for the TITLE attribute, particularly in
hyperlinks and for the expansion of the ACRONYM and ABBR
elements; does not support LONGDESC

7.2 Support appropriate W3C Recommendations. [Priority 2]

IE5: support for: HTML, XML, style sheets; incomplete
support for CSS
N48: support for: HTML, style sheets; very incomplete
support for CSS
O36: support for: HTML, XML, style sheets, CSS

+ Guideline 8. Provide navigation mechanisms

8.1 Allow the user to navigate viewports (including
frames).[Priority 1]
  Note. Navigating into a viewport makes it the current
  viewport.

IE5: yes, but it is not always clear when one navigated from
one viewport to another.  Even on relatively straight-
forward pages, this was a problem with IE5. For example,
after initially getting lost in the search form at the
bottom of <http://www.hwg.org/> the first time I pressed the
TAB key after the page loaded, HAL read the graphical list
of links in order.

N48: while it is possible to move from frame to frame, the
only way I was able to do so was by sequential navigation of
all active elements (the last link in one frame led me to
the first link in the next frame); HAL does not announce the
presence of frames in N48, nor does the viewport and point
of change accordingly

O36: yes, but it is not always clear when one has done so

8.2 For user agents that offer a browsing history mechanism,
when the user returns to a previous view, restore the point
of regard in the viewport. [Priority 1]

IE5: yes -- this feature has been getting stronger since the
release of IE4.01

N48: no -- absolutely not

O36: no

8.3 For dependent user agents only. Allow the user to
navigate just among table cells of a table (notably left and
right within a row and up and down within a column).
[Priority 1]

IE5: not available via HAL
N48: not available via HAL
O36: not available via HAL

8.4 Allow the user to navigate just among all active
elements in the document. [Priority 2]

IE5: yes, but in a mouse-centric manner; no ability to
navigate scripting events; "List of Links" PowerTweak would
be more useful if it provided the option to use TITLE (if
present) rather than just the hyperlink text; likewise, the
"Image List " would also be of more utility if it rendered
the ALT-text associated with the listed images

N48: no

O36: yes -- particularly strong as regards FORM controls

8.5 Allow the user to search for rendered text content,
including alternative text content. [Priority 2]

IE5: Using CONTROL+F to search for a text string works
especially well with hyperlinks.  The focus is routed to the
search term, which therefore becomes the current point of
regard.  This means that one can activate the cursor at the
current (highlit) point of regard simply hitting TAB, and
then hitting ENTER (if the link found is the link for which
you were searching) to activate the link.  If the link is
not the link for which you were searching, tabbing moves you
forward, link-by-link, from the first instance of the text
string for which you were searching.  For graphically
defined hyperlinks with alternative textual content, search
includes ALT text.

N48: search excludes ALT text

O36: search does not include ALT text

8.6 Allow the user to navigate the document structure.
[Priority 2]

IE5: not available
N48: not available
O36: not available, although an Enable/Disable Tables option
is available

8.7 Allow the user to configure structured navigation.
[Priority 3]

IE5: not available
N48: not available
O36: not available


+ Guideline 9. Help orient the user

9.1 Provide a mechanism for highlighting and identifying
(through a standard interface where available) the current
viewport, selection, and focus. [Priority 1]

IE5: uses Active Accessibility, to which HAL is largely
indifferent; HAL does not announce the presence of frames,
nor when the point of regard is moved from one frame to
another

N48: HAL does not announce the presence of frames, nor when
the point of regard is moved from one frame to another

O36: HAL does not announce the presence of frames, nor when
the point of regard is moved from one frame to another

9.2 For dependent user agents only. Provide the user with
information about the number of viewports. [Priority 2]

IE5: information not available via HAL
N48: information not available via HAL
O36: information not available via HAL

Document information:

9.3 For dependent user agents only. Allow the user to view a
document outline constructed from its structural elements
(e.g., from header and list elements). [Priority 2]

IE5: not available using HAL
N48: not available using HAL
O36: not available using HAL

9.4 Describe a selected element's context within a document
(e.g., numerical or relative position). [Priority 2]

IE5: available only if "Document Tree" plug-in is installed;
please refer to comments on Checkpoint 6.4 for detailed
comments on the shortcomings of the "Document Tree"
interface

N48: not available/unsupported

O36: not available, unsupported, or undocumented

Link information:

9.5 For a selected link, indicate whether following the link
will involve a fee. [Priority 2]

IE5, N48, and O36: There is currently no support for this
checkpoint, which is (in my opinion) too specific to be a
checkpoint, and belongs, instead, in the techniques
document, as an example of the type of information about
links that the user agent should make available to the user.

9.6 For a selected link, provide information to help the
user decide whether to follow the link. [Priority 3]
  Note. Useful information includes: whether the link has
  already
  been visited, whether it designates an internal anchor,
  the
  type of the target resource, the length of an audio or
  video
  clip that will be started, and the expected natural
  language of
  target resource.
  Note. Using color as the only distinguishing factor
  between
  visited and unvisited links does not suffice since color
  may
  not be perceivable by all users or rendered by all
  devices.

GENERAL NOTE: Using HAL's "Speak background and foreground
color" and/or "Speak font attributes" key command, when the
point of regard is a hyperlink allows the user to ascertain
a limited amount of information about the currently selected
link.  The information that is available is as follows
(NOTE: the terminology used to enumerate information about
font attributes available to the user on demand, does not
correspond to the syntax used in CSS):

  "Say Font Attributes (LeftControlKey+F)
     1. font family (e.g. Times New Roman)
     2. font weight (bold or normal)
     3. font style (italic, underline, strike-through, etc)
     4. font size (in points)
  "Say foreground and background color" (LeftControlKey+5)
     1. foreground color
     2. background color

When querying HAL as to the fore- and background colors for
hyperlink text, however, HAL was only able to report those
colors defined using the hexadecimal notation (i.e.
"#RRGGBB") and not those defined using the semantic
equivalents defined for CSS (i.e. white, blue, red, etc.)
Despite this, hexadecimal color values are reported by HAL
in plain English (e.g. the hexadecimal value "#00009C" is
reported as "very dark blue", while the style defined as
"background-color : white;" is reported as "background color
unknown".

All three of the user agents examined in this evaluation
offer the user some level of control over the visual
presentation of hyperlink text.

IE5: No UA support for providing information about links in
a media independent fashion. The only configuration option
is to force IE to ignore colors, font styles, and font sizes
specified on web pages (available through the
"Accessibility" property sheet under "Internet Options") and
to use user-defined colors. As noted in the comments
following Checkpoint 1.4, the "Color" property sheet uses
exclusively visual cues (i.e. one is presented with a box
containing a sample of a color, but which lacks an
alternative textual equivalent of the color contained in the
sample area). N48 does allow the user to choose whether or
not Netscape will underline hyperlink text.
:
N48: Links not spoken by HAL unless screen review is
initiated. The only configuration options available are: (1)
force Netscape to "Always use my colors, overriding
document" (available through the "Colors" sub-category of
N48's  "Appearance" property sheet); and (2) "Use my default
fonts, overriding document specified fonts". As noted in the
comments following Checkpoint 1.4, the "Color" property
sheet uses exclusively visual cues (i.e. one is presented
with a box containing a sample of a color, but which lacks
an alternative textual equivalent of the color contained in
the sample area). N48 does allow the user to choose whether
or not Netscape will underline hyperlink text.

O36: Of the three user agents examined in this evaluation,
Opera offers the greatest amount of user configurability for
hyperlink presentation, offering the user with the ability
to:
  a) underline hyperlink text
  b) strike through hyperlink text
  c) define a color for visited and unvisited links {please
  refer to the comments on Checkpoint 1.4 for more
  information about the inaccessibility of the color
  selection dialog box.)
  and/or d) display hyperlink text as bolded, italicized,
  and/or "framed"
Such a variety of configuration options might provide an
extremely sophisticated and confident user with the ability
to distinguish between visited and unvisited links by
routing the cursor to the current point of regard as one
navigates from link-to-link and issuing either or both of
HAL's available "font attribute" commands.

SUMMATION: Obviously, such limited information is not
sufficient, and the exclusive reliance upon color changes to
signify whether a link has already been visited means that
IE5 and N48 abjectly fail to pass this checkpoint --
especially in light of the second note appended to
Checkpoint
9.6. And, while Opera offers more configurability as regards
the visual presentation of hyperlinks, the limitations of
relying on font attributes such as underline, strike-
through, and font-color to provide information about the
currently selected link are obvious.  Likewise, offering the
user the option to use his or her own style sheet (as is
possible with IE5 and O36) is far from sufficient, as -- in
the absence of a "style sheet wizard" -- it places an undue
burden upon the user.

SUPPLEMENTAL NOTE: Please also refer to my comments on
Checkpoint 1.4

9.7 Provide a mechanism for highlighting and identifying
(through a standard interface where available) active
elements of a document. [Priority 3]
  Note. User agents may satisfy this checkpoint by
  supporting the
  appropriate style sheet mechanisms, such as link
  highlighting.

IE5: yes
N48: yes
O36: yes

Table information:

9.8 For dependent user agents only. Provide access to header
information for a selected table cell. [Priority 1]

IE5: not available via HAL
N48: not available via HAL
O36: not available via HAL

9.9 For dependent user agents only. Indicate the row and
column dimensions of a selected table. [Priority 3]

IE5: not available via HAL
N48: not available via HAL
O36: not available via HAL

Form control information:

9.10 Provide the user with access to any label explicitly
associated with a form control. [Priority 2]

GENERAL NOTE: The forms tested to evaluate this checkpoint,
     Seti-Search:
          <http://www.seti-search.com/>
     VICUG NYC Survey
          <http://www.hicom.net/~oedipus/vicug/.html>
     Universally Accessible RealAudio Download Form (version
1.2)
          <http://www.hicom.net/~oedipus/ra_form.html>
are all valid HTML 4.0, as validated by the W3C Validator
     <http://validator.w3.org/>
between the three forms, the form control commands tested
include: LABEL, LEGEND, FIELDSET, and TABINDEX

IE5: TABINDEX order not followed by UA, LABEL text not
spoken, VALUE attribute defined for the INPUT types "submit"
and "reset" voiced correctly

N48: Respected TABINDEX order, but did not speak any LABEL
text. VALUE attribute defined for the INPUT types "submit"
and "reset" voiced correctly.

O36: Respected TABINDEX order, sporadically (and not
necessarily accurately) voiced LABELs defined for input
fields, VALUE attribute defined for the INPUT types "submit"
and "reset" voiced correctly.

Consistency:

9.11 Maintain consistent user agent behavior and default
configurations between software releases. Consistency is
less important than accessibility and adoption of system
conventions. [Priority 3]

IE5: On the surface, not much has changed between IE4.01SP2
and IE5, although "less frequently" used interfaces operate
in a significantly different manner.

N48: Netscape remains one of the least used browsers on my
computer, due in no small part, to the lack of user
interface consistency between versions.

O36: Interface has remained consistent since I began using
Opera, less than a year ago.


+ Guideline 10. Notify the user of document and viewport
changes

10.1 Provide information about document and viewport changes
(to users and through programming interfaces). [Priority 1]

IE5: HAL is indifferent to MSAA and (currently, at least)
has means of accessing the DOM API
N48: none provided
O36: none currently provided

10.2 Ensure that when the selection or focus changes, it is
in the viewport after the change. [Priority 2]

IE5: yes
N48: no
O36: yes

10.3 Allow the user to selectively turn on and off
notification of common types of document and viewport
changes. [Priority 3]

IE5: it is possible to set IE5 to be quite a nag (i.e.
prompting every time it encounters a script) by customizing
the "Security" property sheets

N48: very little user configurable notification options

O36:

10.4 When loading a resource (e.g., document, video clip,
audio clip, etc.) indicate what portion of the resource has
loaded and whether loading has stalled. [Priority 3]

IE5: some information available via status line

N48: information available via status line

O36: information available via status line; type of
information displayed is extremely user-configurable

10.5 Indicate the relative position of the viewport in a
resource  (e.g., the percentage of the document that has
been viewed, the percentage of an audio clip that has been
played, etc.). [Priority 3]

IE5: visually dependent (scroll bars)
N48: visually dependent (scroll bars)
O36: yes: both through (optional) scroll bars and through a
user-configurable status monitor

10.6 Prompt the user to confirm any form submission not
explicitly initiated by the user. [Priority 2]

IE5: no -- automatic FORM submit on ENTER
N48: no -- automatic FORM submit on ENTER
O36: no -- automatic FORM submit on ENTER

+ Guideline 11. Allow the user to configure the user agent

11.1 Allow the user to configure the user agent in named
profiles that may be shared (by other users or software).
[Priority 2]

IE5: no
N48: yes
O36: yes

11.2 Allow the user to configure the graphical arrangement
of user interface controls. [Priority 3]

IE5: no
N48: yes, via drag-and-drop of personal toolbar items
O36: no


+ Guideline 12. Provide accessible product documentation and
help

12.1 Provide a version of the product documentation that
conforms to the Web Content Accessibility Guidelines.
[Priority 1]

IE5: no
N48: most definitely not
O36: yes (help available in both framed and no frames views)

12.2 Ensure that all user agent functionalities that promote
accessibility are documented. [Priority 1]

IE5: yes
N48: no
O36: yes

12.3 Describe product features known to promote
accessibility in a section of the product documentation.
[Priority 2]

IE5: yes
N48: no
O36: yes

--------------------------------------------------------
He that lives on Hope, dies farting
     -- Benjamin Franklin, Poor Richard's Almanack, 1763
--------------------------------------------------------
Gregory J. Rosmaita <oedipus@hicom.net>
   President, WebMaster, & Minister of Propaganda, 
        VICUG NYC <http://www.hicom.net/~oedipus/vicug/>
--------------------------------------------------------

Received on Wednesday, 1 September 1999 05:28:20 UTC