- 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:35 UTC