- From: Gregory J. Rosmaita <oedipus@hicom.net>
- Date: Thu, 30 Aug 2007 12:43:12 -0400
- To: "Philip Taylor (Webmaster)" <P.Taylor@Rhul.Ac.Uk>, Joshue O Connor <joshue.oconnor@cfit.ie>
- Cc: HTML Working Group <public-html@w3.org>, wai-xtech@w3.org
aloha!
i will speak to what i personally know, and hope that others using other
set ups will do the same, in particular jason white, who uses linux,
orca, and refreshable braille, which i do not, and david poehlman, who
uses a mac; jason also uses emacspeak, as i did once, so perhaps raman
would also like to weigh in on this topic...
i primarily use JAWS, save for when using FireVox and NVDA -- as far as
JAWS' ability to recognize and "jump to" specific markup, the following
options are available via a menu (most, if not all, are also useable as
"naked" keystrokes when in "virtual cursor mode" -- which is JAWS'
keyboard overlay in MSIE (and, to a lesser extent, FireFox and
SeaMonkey) -- in virtual cursor mode, for example, i can advance by
paragraph by pressing the p key -- and can move backwards using the
SHIFT key in addition to the p key (note that in large documents, it
is often impossible to actually move the virtual cursor back using the
SHIFT modifier), to get to a table, one can press t and the virtual
cursor will place one at the top of a table, reading out the summary
defined for that table, or in the absence of a summary will give the
user the table's dimensions (X colums by Y rows); to navigate a table
or to interact with a FORM, one must go into a special mode, in order
to interact with the document controls directly (in the case of a form)
or to navigate a table, when one is encountered...
as you can imagine, the full virtual keyboard layout is very complicated
and entails quite a learning curve for the average or new user... here
is, from JAWS 8's help files a list of basic "virtual keyboard commands"
-- note that
A) these are "virtual commands" meant to work with MSIE7 and, to
a lesser extent FireFox
B) that this is only a partial, albeit "official", list of JAWS' virtual
cursor mode commands
C) the use of the INSERT key as a modifier key, means that commands
which use UI chrome keys (such as "Enter Forms Mode using INSERT+F5)
often leads the command being misinterpreted by the UA as a "refresh"
command, which leads to one's answers to a form to be cleared, as
JAWS often has difficulty retaining its focus in forms mode, especially
if the form is irregularly constructed (such as the submit key being
located outside of the FORM element and in a javascripted link); also,
by far the easiest and most reliable way to review one's answers to a
form is to use the list of form controls, which is invoked using
INSERT+F5, to provide one with an overview of answers, but one usually
has a 50/50 chance that instead of being able to review form entry data,
one inadvertantly clears the form
D) the longer the document, the less likely the gross navigational
commands are to work as intended -- one can often move forward
using H to go to the next header, but shift+H won't always get you
back to the previous header
E) it is often impossible to get contextual information by querying
the element which has focus -- on a hyperlink, for example, INSERT+TAB
will not read the title text if JAWS is set to read hyperlink text,
and vice-versa, which is problematic, for many well intentioned
hyperlink titles -- when spoken in place of hyperlink text -- make the
flow of a document disorienting and hard to understand...
F) the following information is extracted from the help files that
accompanied the latest official release of JAWS 8, as well as the lists
of lists one can invoke in "virtual cursor mode"
---- BEGIN LIST OF GENERAL JAWS VIRTUAL CURSOR MODE COMMANDS ----
-------------------
1. General Commands
-------------------
Back a Page: ALT+LEFT ARROW or BACKSPACE
Forward a Page: ALT+RIGHT ARROW
Move to Address Bar: ALT+D
Read Address Bar: INSERT+A
Move JAWS Cursor to Address Bar: INSERT+A twice quickly
Virtual HTML Features: INSERT+F3
* note: i will address this feature after listing the virtual mode
commands
View Basic Element Information: INSERT+SHIFT+F1
View Advanced Element Information: CTRL+INSERT+SHIFT+F1
Move to Next Clickable Element: SLASH
Move to Previous Clickable Element: SHIFT+SLASH
Select Clickable Element: INSERT+CTRL+SLASH
Activate Mouse Over: INSERT+CTRL+ENTER
Move to Next Mouse Over Element: SEMICOLON
Move to Previous Mouse Over Element: SHIFT+SEMICOLON
Select a Mouse Over Element: INSERT+CTRL+SEMICOLON
-----------------
2) Links Commands
-----------------
List Links: INSERT+F7
Next Link: TAB
Prior Link: SHIFT+TAB
Next Visited Link: V
Prior Visited Link: SHIFT+V
Open Link: ENTER
Open Link in New Window: SHIFT+ENTER
Next Non Link Text: N
Prior Non Link Text: SHIFT+N
--------------------
3) Headings Commands
--------------------
List Headings: INSERT+F6
Next Heading: H
Prior Heading: SHIFT+H
First Heading: ALT+INSERT+HOME
Last Heading: ALT+INSERT+END
Next Heading at Level: 1 through 6
* note: 1 will cycle through level 1 headers, 2 through level 2
headers, etc.
Prior Heading at Level: SHIFT+1 through 6
First Heading at Level: ALT+CTRL+INSERT+1 through 6
Last Heading at Level: ALT+CTRL+INSERT+ SHIFT+1 through 6
-----------------
4) Forms Commands
-----------------
4A) Getting to a Particular form field using the virtual cursor:
Move To First Form Field: INSERT+CTRL+HOME
Move To Last Form Field: INSERT+CTRL+END
Move To Next Form Field: F
Move To Prior Form Field: SHIFT+F
Move To Next Button: B
Move to Prior Button: SHIFT+B
Move To Next Combo Box: C
Move to Prior Combo Box: SHIFT+C
Move To Next Edit Box: E
Move to Prior Edit Box: SHIFT+E
Move To Next Radio Button: R
Move to Prior Radio Button: SHIFT+R
Move To Next Check Box: X
Move to Prior Check Box: SHIFT+X
4B) Forms Mode (actually allows user to interact with form controls)
Enter Forms Mode: ENTER
Exit Forms Mode: NUM PAD PLUS
List of Form Fields: INSERT+F5
List Buttons: CTRL+INSERT+B
List Combo Boxes: CTRL+INSERT+C
List Edit Boxes: CTRL+INSERT+E
List Radio Buttons: CTRL+INSERT+R
List Check Boxes: CTRL+INSERT+X
Enter/Leave Multi-Select Mode: SHIFT+F8
------------------
5) Tables Commands
------------------
Move To Next Table: T
Move To Prior Table: SHIFT+T
Select Table: F8
List Tables: CTRL+INSERT+T
Jump to Table Cell (from within a table): CTRL+WINDOWS Key+J
Return to Previous Cell: CTRL+SHIFT+WINDOWS Key+J
Read current cell: CTRL+ALT+NUM PAD 5
Move to and Read Next Cell: CTRL+ALT+RIGHT ARROW
Move to and Read Prior Cell: CTRL+ALT+LEFT ARROW
Move to and Read Cell Above: CTRL+ALT+UP ARROW
Move to and Read Cell Below: CTRL+ALT+DOWN ARROW
Move to and Read First Cell: CTRL+ALT+HOME
Move to and Read Last Cell: CTRL+ALT+END
Read Next Row: WINDOWS KEY+DOWN ARROW
Read Prior Row: WINDOWS KEY+UP ARROW
Read Current Row: WINDOWS KEY+COMMA
Read from Beginning of Row to Current Cell: INSERT+SHIFT+HOME
Read from Current Cell to End of Row: INSERT+SHIFT+PAGE UP
Read Current Column: WINDOWS KEY+PERIOD
Read from Top of Column to Current Cell: INSERT+SHIFT+END
Read from Current Cell to Bottom of Column: INSERT+SHIFT+PAGE DOWN
------------------
6) Frames Commands
------------------
Next Frame: M
Prior Frame: SHIFT+M
Move to Frame 1 to 10: Unassigned
List Frames: INSERT+F9
--------------------
7) Elements Commands
--------------------
Next Same Element: S
Prior Same Element: SHIFT+S
Next Different Element: D
Prior Different Element: SHIFT+D
Next Element: SHIFT+PERIOD
Previous Element: SHIFT+COMMA
Select Entire Element: F8
Display Element Information: SHIFT+INSERT+F1
Display Detailed Element Information: CTRL+SHIFT+INSERT+F1
Activate Mouse Over: INSERT+CTRL+ENTER
-----------------
8) Other Commands
-----------------
Create Custom Label: CTRL+INSERT+TAB
Move to Next Place Marker: K
Move to Previous Place Marker: SHIFT+K
List, Go To, or Modify Place Markers: CTRL+SHIFT+K
Move to Next List: L
Move to Prior List: SHIFT+L
Select List: F8
List All Ordered, Unordered, and Definition Lists: CTRL+INSERT+L
Move to Next Item in a List: I
Move to Prior Item in a List: SHIFT+I
Refresh JAWS Virtual Mode: INSERT+ESC
* updates JAWS' screen shot of the document instance loaded into JAWS'
virtual mode buffer; it is often necessary to use this command when
switching from BrowserTab to BrowserTab, otherwise all the
information about the document instance you have just left will be
retained in JAWS' virtual memory (this is an example of the OSM in
action, the OSM being the "off-screen model" which JAWS scrapes
from the initial rendering of the page, so it can work off of the OSM
generated snapshot; when the page refreshes, the OSM does not
always refresh, nor does it always refresh when a user switches
between document instances, so it is one of the most invoked keys
in virtual mode
List Toolbar Buttons: INSERT+F8 (not available in Mozilla Firefox)
Route Virtual to PC Cursor: INSERT+DELETE
Route PC to Virtual Cursor: CTRL+INSERT+DELETE
Route Virtual to JAWS Cursor: INSERT+NUM PAD PLUS
Virtual Cursor Toggle: INSERT+Z
JAWS Find Next: F3
JAWS Find Previous: SHIFT+F3
* note: "JAWS Find" is different from the UA's built-in "Find Function"
in that a JAWS Find searches the OSM, rather than the document
instance itself
Jump to Line: J
Return to Previous Line: SHIFT+J
Move to Next Division: Z
Move to Prior Division: SHIFT+Z
List Divisions: CTRL+INSERT+Z
---- END OF LIST OF GENERAL JAWS VIRTUAL CURSOR MODE COMMANDS ----
due to the previous list (which is only a partial listing of the virtual
cursor
commands and interactive commands), being so large, not to mention
dependent upon proper use of markup by the author of the document
instance
being read, JAWS has a "virtual HTML features" list, containing 20 items
and
invoked using the INSTERT+F3 key -- the "virtual HTML features" are
listed
below:
* Anchors List
* Blockquote List
* Buttons
* Checkboxes
* Combo boxes:
* Division marker list
* Edit box list
* Forms list
* Frames list
* Graphics list
* Headers list
* Links list
* Link Items list
* Lists list
* Object list
* Paragraph list
* Placemarkers list
* Personalized Web settings list
* Tables list
* Radio button list
note that there is neither a "class" list nor an "id" list, and most of
the above-listed commands provide only "gross navigation", save
for when one enters Table Navigation mode or Forms Control mode;
note, as well, that when one lists tables, there is no differentiation
between layout tables and data tables, so moving from table to
table using the T and SHIFT+T commands often doesn't provide the
user with the ability to be discriminating about which tables the user
investigates, which forces the user to investigate EACH table, simply
in order to ascertain whether or not it contains any relevant content,
or whether it is a layout table encasing a layout table, encasing a
layout table.
also, there are inherent conflicts -- when i am in table navigation
mode to inspect a form contained in a table, the state and type of
form controls contained in the row or column will NOT be enunciated,
nor will the text contained in the row or column as pseudo-labels
be available when in forms mode, so it is often necessary to switch
from mode to mode several times whilst attempting to complete a
single form, let alone navigate an entire page...
one can set the cascade one wants enunciated for certain elements:
for graphical links, one can either have the link text, title text, alt
text, whichever is longest spoken (note, this cannot be easily
changed on the fly; the final cascade is if no other information present,
read the contents of the src attribute), just as one can choose for
regular hyperlink text what to speak: link text, title, or longest.
(again, exclusive settings that cannot be easily changed on the fly,
but are hard set in JAWS -- just as one has the ability to toggle
expansion all ABBR of or on, and the ability to toggle expansion of
ACRONYM on or off, but only by setting JAWS' property sheets to either
expand or not expand either element... one can also set JAWS to
ignore any IMG which lacks alt text, to identify it simply as a
"graphic", or to use the contents of the src attribute to provide ersatz
alt text for that graphic; this is how one avoids the "spacer.gif
spacer.gif spacer.gif spacer.gif string of text spacer.gif spacer.gif
spacer.gif spacer.gif phenomenon, but it is often necessary to leave
ennunciation of unlabeled graphics enabled, in order to interact with
certain sites that allowed their author or authoring tool to use invalid
ALT values -- knowing that a graphical item is part of a document's
presentation is often essential to understanding the document, its flow,
and how it's author means to convey information to the user -- you'd be
surprised how many people assume that screen readers can perform OCR
(optical character recognition) on images of text, and neglect to provide
an equivalent alternate to the picture of text, assuming that text -- no
matter what it's form, can be spoken, despite the fact that a picture
of text is not text, but, rather, a picture which happens to contain
text in a graphical format
i hope this helps answer your question, phil -- if not, ask again!
gregory.
----------------------------------------------------------------
CONSERVATIVE, n. A statesman who is enamored of existing evils,
as distinguished from the Liberal, who wishes to replace them
with others. -- Ambrose Bierce, _The Devil's Dictionary_
----------------------------------------------------------------
Gregory J. Rosmaita, oedipus@hicom.net
Camera Obscura: http://www.hicom.net/~oedipus/index.html
----------------------------------------------------------------
---------- Original Message -----------
From: "Philip Taylor (Webmaster)" <P.Taylor@Rhul.Ac.Uk>
To: Joshue O Connor <joshue.oconnor@cfit.ie>
Cc: HTML Working Group <public-html@w3.org>, wai-xtech@w3.org
Sent: Thu, 30 Aug 2007 15:17:23 +0100
Subject: Screen-reader behaviour
> If you are familiar with the technology hands-
> on, can you also say whether classes and/or
> IDs (as well as elements) are exposed to the
> end-user by any system of which you are aware ?
Received on Thursday, 30 August 2007 16:44:19 UTC