- From: Aaron Leventhal <aleventhal@google.com>
- Date: Thu, 25 Oct 2018 18:28:19 +0200
- To: ARIA Working Group <public-aria@w3.org>
- Message-ID: <CA+1LECQPWKOmhsirU7=OOsYNxFZ1U-EWd+vMj0CVWtjxVSqkHw@mail.gmail.com>
Since we are discussing this tomorrow in the PFWG I thought I would write
up white I've learned discussing this 1 on 1 with a few folks who were
really interested in it, so far. So this is just food for thought for the
discussion tomorrow.
* Annotation use cases and possible markup *
High level questions to think about:
   -
   What is an annotation, vs. a role, vs. a stylistic or decorative piece
   of information? Note that UI Automation supports control types (roles),
   annotations and styles. I suggest that an annotation is something that has
   an in-page link to additional information that is visible within the page.
   -
   Do we need an annotation type at all, or is aria-details enough. I
   suggest that we may want to avoid this at first, and add later if necessary.
High level use cases: document editor, code editor
Specific use cases that have come up (not all of these have turned out to
need new markup): highlight, reference, error, warning, description,
bookmark, suggestion, attribution, edit/history, comment, breakpoint
Markup that has been suggested:
   -
   aria-details to point to in-page related content
   -
   aria-hasannotation or aria-detailstype to say something about an
   optional or required target, e.g. aria-hasannotation="comment". To me, it
   is unclear whether we really should add this kind of markup or not.
The following use cases are probably not annotations:
   -
   highlight  --  author can just use something like role=mark or em/strong
   -
   error, e.g. in code in code editor: use aria-invalid="true" +
   aria-errormessage=id
   -
   warning, e.g. in code editor: ARIA WG may want to add
   aria-invalid="warning" + (like error, also can use aria-errormessage=id)
   -
   bookmark -- not sure how important this is right now, sounds like <a
   name> or @id, which we already have.
The following are annotations:
   -
   comment  -- use aria-details. If we want to specify the type of
   annotation, could use aria-hasannotation="comment"
   -
   suggestion -- this is basically a comment on a change.
   -
      The change can be marked up via ins/del, and surround these with an
      element that has aria-details pointing to a generated comment that
      describes the change, when it happened, who made it, etc.
      -
      There may be an additional comment from a person describing their
      reason for the change
      -
      If want to specify type, use aria-hasannotation="suggestion" --
      unlike comments, suggestions can be accepted or rejected, but can just be
      buttons within the comment
      -
   attribution/edit/history/notice - similar to suggestion -- use <ins>
   and/or <del> with optional software-generated comment, like “Format change
   by Honest Abe”.
Other:
   -
   description -- just use aria-details, not sure there is enough reason
   for a type to differentiate it from other annotations
   -
   reference -- use dpub role=”doc-noteref” from dpub + aria-details
   pointing to the note. Can use role="doc-endnote" or doc-note on the note
   itself.
Unsure:
   -
   breakpoint  in code editor --
   -
      Tends to be a visual button that allows editing of the breakpoint
      conditions. Could use something like role="button" aria-label="breakpoint
      13 enabled" aria-haspopup="list"
      -
      However, also would be good for user to know they entered a
      breakpoint, so entire range of text should be annotated. This one may
      actually be a reason that we want to specify the annotation type
separately
      from aria-details.
Feel free to add your comments or we can just discuss tomorrow in the WG.
Thanks!
Aaron
Received on Thursday, 25 October 2018 16:28:54 UTC