Difference between revisions of "Writer/Accessibility"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (Issue 88070 - Expose comments at the accessibility API for accessibility tools)
(Refined proposal from od (mailto:od@openoffice.org))
Line 38: Line 38:
 
=== Refined proposal from od (mailto:od@openoffice.org) ===
 
=== Refined proposal from od (mailto:od@openoffice.org) ===
  
After a deeper look at the current presentation of a comment in the user interface (used windows and controls) and prototyping some stuff the following document hierarchy results as a 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 williewalker's (mailto:williewalker@openoffice.org) input the following document hierarchy results as a refined proposal:
  
 
  -> ATK_ROLE_DOCUMENT_FRAME
 
  -> ATK_ROLE_DOCUMENT_FRAME
Line 44: Line 44:
 
   -> ATK_ROLE_PARAGRAPH
 
   -> ATK_ROLE_PARAGRAPH
 
   -> ATK_ROLE_PARAGRAPH
 
   -> ATK_ROLE_PARAGRAPH
       -> ATK_ROLE_SCROLL_PANE [with accessible description = "comment"]
+
       -> ATK_ROLE_NOTE
         -> ATK_ROLE_PANEL [with accessible description = "comment content"]
+
         -> ATK_ROLE_PANEL  
 
             -> ATK_ROLE_PARAGRAPH ("Annotation")
 
             -> ATK_ROLE_PARAGRAPH ("Annotation")
 
             -> ATK_ROLE_PARAGRAPH ("1st paragraph bold")
 
             -> ATK_ROLE_PARAGRAPH ("1st paragraph bold")
 
             -> ATK_ROLE_PARAGRAPH ("2nd paragraph italic")
 
             -> ATK_ROLE_PARAGRAPH ("2nd paragraph italic")
 
             -> ATK_ROLE_PARAGRAPH ("3rd paragraph centered")
 
             -> ATK_ROLE_PARAGRAPH ("3rd paragraph centered")
         -> ATK_ROLE_TEXT ("Oliver-Rainer Wittmann") [with accessible description = "comment author"]
+
         -> ATK_ROLE_TEXT ("Oliver-Rainer Wittmann") [with accessible name = "Author"]
         -> ATK_ROLE_TEXT ("12/12/2008 15:01") [with accessible description = "comment date"]
+
         -> ATK_ROLE_TEXT ("12/12/2008 15:01") [with accessible name = "Date"]
         -> ATK_ROLE_PUSH_BUTTON [with accessible description = "comment actions"]
+
         -> ATK_ROLE_PUSH_BUTTON [with accessible name = "Actions" and accessible description = "Activate this button to open a list of actions to perform on this comment and other comments"]
 
   -> ATK_ROLE_PARAGRAPH
 
   -> ATK_ROLE_PARAGRAPH
 
   -> ATK_ROLE_PARAGRAPH
 
   -> ATK_ROLE_PARAGRAPH
 +
      -> ATK_ROLE_NOTE_END [exists when comment annotates a text range; it is a non-showing accessible object]
 
   -> ATK_ROLE_PARAGRAPH
 
   -> ATK_ROLE_PARAGRAPH
  

Revision as of 13:19, 18 December 2009

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).

Working out the details is work in progress.

Proposal from joaniediggs (mailto:joaniediggs@openoffice.org) taken from IssueZilla issue

The document hierarchy seen by accessibility tool Accerciser for a comment which annotates a certain text position in the third paragraph of a Writer document should look like:

-> ATK_ROLE_DOCUMENT_FRAME
  -> ATK_ROLE_PARAGRAPH
  -> ATK_ROLE_PARAGRAPH
  -> ATK_ROLE_PARAGRAPH
     -> ATK_ROLE_SCROLL_PANE
        -> 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,PARAGRAPH} ("Oliver-Rainer Wittmann")
        -> ATK_ROLE_{TEXT,PARAGRAPH} ("12/12/2008 15:01")
        -> ATK_ROLE_PUSH_BUTTON
  -> ATK_ROLE_PARAGRAPH
  -> ATK_ROLE_PARAGRAPH
  -> ATK_ROLE_PARAGRAPH

The scroll pane shall represent the comment by which the comment's position can be determined. Its children are the comment's content - paragraphs - followed by two texts containing the author and the date of the comment. The last children is a push button. In the user interface the push button is used to open a context menu with certain actions on comments.


Refined proposal from od (mailto:od@openoffice.org)

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

-> ATK_ROLE_DOCUMENT_FRAME
  -> ATK_ROLE_PARAGRAPH
  -> ATK_ROLE_PARAGRAPH
  -> ATK_ROLE_PARAGRAPH
     -> ATK_ROLE_NOTE
        -> 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") [with accessible name = "Author"]
        -> ATK_ROLE_TEXT ("12/12/2008 15:01") [with accessible name = "Date"]
        -> ATK_ROLE_PUSH_BUTTON [with accessible name = "Actions" and accessible description = "Activate this button to open a list of actions to perform on this comment and other comments"]
  -> ATK_ROLE_PARAGRAPH
  -> ATK_ROLE_PARAGRAPH
     -> ATK_ROLE_NOTE_END [exists when comment annotates a text range; it is 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. Identification of the uppermost accessible object by OOo's accessible role "COMMENT". This accessible role should be mapped to ATK_ROLE_NOTE in OOo's ATK bridge.
  2. Accessible name "Author" for the accessible object representing the fixed text window control containing the author's name.
  3. Accessible name "Date" for the accessible object representing the fixed text window control containing comment's creation date.
  4. Accessible name "Actions" and accessible description "Activate this button to open a list of actions to perform on this comment" for the accessibility object which represents the push button
  5. 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. 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.
  8. 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. The user should be able to quickly navigate between the document content and the comments.
    • [OPEN: It is needed to define the navigation keys.]
  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. 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).
    • [OPEN: Is is needed to define the navigation keys.]
  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