Writer/Accessibility

From Apache OpenOffice Wiki
< Writer
Revision as of 09:33, 10 February 2010 by Od (Talk | contribs)

Jump to: navigation, search

Writer Icon.png

Writer Project

Please view the guidelines
before contributing.

Popular Subcategories:

Internal Documentation:

API Documentation:

Ongoing Efforts:

Sw.OpenOffice.org

Home for the accessibility work in the Writer.

Issue 88070 - Expose comments at the accessibility API for accessibility tools

Details about the issue 88070 - link to the intrinsic IssueZilla issue - in order to expose the comments of a Writer document.

The comments of a Writer document are also known as notes (prior to OOo 3.2) or annotations (OpenDocument file format specification, version 1.0, 1.1 and 1.2).

Refined proposal

After a deeper look at the current presentation of a comment in the user interface (used windows and controls), prototyping some stuff and considering joaniediggs' (mailto:joaniediggs@openoffice.org) proposal and williewalker's (mailto:williewalker@openoffice.org) input the following document hierarchy results as a refined proposal of a document hierarchy seen by accessibility tool Accerciser for a comment:

-> ATK_ROLE_DOCUMENT_FRAME
-> ATK_ROLE_PARAGRAPH
-> ATK_ROLE_PARAGRAPH
-> ATK_ROLE_PARAGRAPH
-> ATK_ROLE_SCROLL_PANE
-> ATK_ROLE_PANEL
-> ATK_ROLE_PARAGRAPH ("Annotation")
-> ATK_ROLE_PARAGRAPH ("1st paragraph bold")
-> ATK_ROLE_PARAGRAPH ("2nd paragraph italic")
-> ATK_ROLE_PARAGRAPH ("3rd paragraph centered")
-> ATK_ROLE_TEXT ("Oliver-Rainer Wittmann")
-> ATK_ROLE_TEXT ("12/12/2008 15:01")
-> ATK_ROLE_PUSH_BUTTON
-> ATK_ROLE_PARAGRAPH
-> ATK_ROLE_PARAGRAPH
-> ATK_ROLE_UNKNOWN [exist when comment annotates text range; its a non-showing accessible object]
-> ATK_ROLE_PARAGRAPH

Requirements

Below is a list of requirements which are collected from the comments of the IssueZilla issue. Sometimes a refinement or a possible proposal for its solution is given:

  1. [SOLVED in cws sw33a11y01] Identification of the uppermost accessible object by OOo's accessible role "COMMENT".
    • In OOo's ATK bridge this accessible role should be mapped to ATK role ATK_ROLE_SCROLL_PANE
    • [POSTPONED until OOo's base line for Gnome contains at least ATK 1.12] New AtkAttribute { "xml_roles", "note" }. The AtkAttribute should be provided via ATK-method <AtkObject::atk_object_get_attributes(..)>
  2. [SOLVED in cws sw33a11y01] Accessible name "Author" for the accessible object representing the fixed text window control containing the author's name.
  3. [SOLVED in cws sw33a11y01] Accessible name "Date" for the accessible object representing the fixed text window control containing comment's creation date.
  4. [SOLVED in cws sw33a11y01] Accessible name "Actions" and accessible description "Activate this button to open a list of actions which cane be performed on this comment and other comments" for the accessibility object which represents the push button
  5. [SOLVED in cws sw33a11y01] Tool tip for push button containing its accessible description.
  6. The special character in the paragraph's text which marks the text position which a comment is annotating respectively which marks the start position of a text range which a comment is annotating should have a run attribute, named (e.g.) "Note" whose value is the accessible object representing this comment.
  7. [POSTPONED until comments on text ranges have been implemented] For a comment which annotates a text range a non-showing accessible object with OOo's accessible role "COMMENT_END" shall exist. Its parent shall be the paragraph containing the end position of the text range the comment is annotating.
    • In OOo's ATK bridge this accessible role should be mapped to ATK role ATK_ROLE_UNKNOWN
    • [POSTPONED until OOo's base line for Gnome contains ATK 1.12] New AtkAttribute { "xml_roles", "note_end" }. The AtkAttribute is provided via ATK-method <AtkObject::atk_object_get_attributes(..)>
  8. [POSTPONED until comments on text ranges have been implemented] The corresponding accessible objects of accessible role "COMMENT" and "COMMENT_END" shall be in relation with relation type "MEMBER_OF".
  9. Comments of visible paragraphs which are not visible in the user interface shall exist as accessible objects. Its corresponding showing and/or visible states shall not be set.
  10. [SOLVED] The user should be able to quickly add or delete a comment.
    • Adding is already possible via <Ctrl-Alt-N>
    • Deletion is already possible via deletion of the special character in the paragraph's text.
  11. [SOLVED] The user should be able to quickly navigate between the document content and the comments.
    • When the cursor is on the special character of the comment the user can navigate into the comment via Ctrl-Alt-N. via ESC the user navigates from the comment to the document content.
  12. When in the document content area and the user sees a comment is present, navigating to the comment should automatically make the comment become visible. Any associated comment for the current caret position should be visible and it should be obvious which comment it is.
    • When the cursor is moved to the special character in the paragraph's text the visual representation of the "anchor line" changes - from dashed to solid - the comment window also gets a shadow.
    • [OPEN: It is needed to define how this change in the visual representation of the comment is reflected for accessibility tools.]
  13. [SOLVED] The user should be able to quickly jump from one comment to the next (e.g., let them quickly scan what other people had to say about the document).
    • The navigation keys are Ctrl-Alt-PageUp/PageDown.
  14. The user should be able to easily navigate within a comment -- go from field to field, select/copy/edit text, etc.
    • There are currently only two window controls which are of interest for this requirement - the window control which contains the comment content and the push button. To navigate from the comment content to the push button <Ctrl-Tab> shall work. To navigate from the push-button to the comment content <Tab> shall work. Inside the comment content normal text navigation shall work.
Personal tools