Re: ACTION-1442: Create spec. text for aria-context="IDREF" and aria-current="true/false", related to issue-587

Hi Alex,

This list is currently closed to public viewing (w3c-wai-pf@w3.org). We had
agreed to have discussions on ARIA done in public space for ARIA 1.1.

Please post to public-pfwg@w3.org.

Rich


Rich Schwerdtfeger



From: Alexander Surkov <surkov.alexander@gmail.com>
To: Bryan Garaventa <bryan.garaventa@ssbbartgroup.com>
Cc: Joseph Scheuhammer <clown@alum.mit.edu>, Protocols and Formats
            Working Group <w3c-wai-pf@w3.org>
Date: 05/30/2014 10:46 AM
Subject: Re: ACTION-1442: Create spec. text for aria-context="IDREF" and
            aria-current="true/false", related to issue-587



Ok, if it fits the radios concept then I don't really have questions about
aria-context. On the mapping issue in IA2/ATK I think we can do
1) RELATION_MEMBER_OF can be exposed on aria-current items
2) group position can be calculated on aria-current items.
3) expose 'current' object attribute to map aria-current


On Thu, May 29, 2014 at 1:39 PM, Bryan Garaventa <
bryan.garaventa@ssbbartgroup.com> wrote:
  Here is another example that might help put this into perspective as
  well; I’ve also fixed the original example with the correct ID mappings.





  This is a top level navigation structure, that includes sub nav
  navigation, both of which have active nodes (“Transactions” and “Account
  transfers”), in order to convey the top level selection as well as the
  current subNav selection.





  <ul id="topNavID">


  <li>


  <a href="accounts-landing.html" aria-context="topNavID"
  aria-current="false">


  Accounts


  </a>


  </li>


  <li>


  <a href="transactions-landing.html" aria-context="topNavID"
  aria-current="true">


  Transactions


  </a>


  <ul id="subNavID">


  <li>


  <a href="transactions-scheduled.html" aria-context="subNavID"
  aria-current="false">


  Scheduled payments


  </a>


  </li>


  <li>


  <a href="transactions-accounts.html" aria-context="subNavID"
  aria-current="true">


  Account transfers


  </a>


  </li>


  <li>


  <a href="transactions-monitor.html" aria-context="subNavID"
  aria-current="false">


  Monitoring options


  </a>


  </li>


  </ul>


  </li>


  <li>


  <a href="history-landing.html" aria-context="topNavID"
  aria-current="false">


  History


  </a>


  </li>


  </ul>





  And here is the corrected pagination example:





  <div id="results-pagination">


  <h2 id="pagination-heading">Pagination</h2>


  <ul class="pagination">


  <li class="active" aria-context="results-pagination" aria-current="true">


  1


  </li>


  <li class="link" aria-context="results-pagination" aria-current="false">


  <a title="Page 2" class="page-link"
  href="/vsearch/f?keywords=accessibility&amp;pt=jobs&amp;page_num=2"
  data-li-page="2">2</a>


  </li>


  <li class="link" aria-context="results-pagination" aria-current="false">


  <a title="Page 3" class="page-link"
  href="/vsearch/f?keywords=accessibility&amp;pt=jobs&amp;page_num=3"
  data-li-page="3">3</a>


  </li>


  <li class="link" aria-context="results-pagination" aria-current="false">


  <a title="Page 4" class="page-link"
  href="/vsearch/f?keywords=accessibility&amp;pt=jobs&amp;page_num=4"
  data-li-page="4">4</a>


  </li>


  <li class="link" aria-context="results-pagination" aria-current="false">


  <a title="Page 5" class="page-link"
  href="/vsearch/f?keywords=accessibility&amp;pt=jobs&amp;page_num=5"
  data-li-page="5">5</a>


  </li>


  <li class="link" aria-context="results-pagination" aria-current="false">


  <a title="Page 6" class="page-link"
  href="/vsearch/f?keywords=accessibility&amp;pt=jobs&amp;page_num=6"
  data-li-page="6">6</a>


  </li>


  <li class="link" aria-context="results-pagination" aria-current="false">


  <a title="Page 7" class="page-link"
  href="/vsearch/f?keywords=accessibility&amp;pt=jobs&amp;page_num=7"
  data-li-page="7">7</a>


  </li>


  <li class="link" aria-context="results-pagination" aria-current="false">


  <a title="Page 8" class="page-link"
  href="/vsearch/f?keywords=accessibility&amp;pt=jobs&amp;page_num=8"
  data-li-page="8">8</a>


  </li>


  <li class="link" aria-context="results-pagination" aria-current="false">


  <a title="Page 9" class="page-link"
  href="/vsearch/f?keywords=accessibility&amp;pt=jobs&amp;page_num=9"
  data-li-page="9">9</a>


  </li>


  <li class="link" aria-context="results-pagination" aria-current="false">


  <a title="Page 10" class="page-link"
  href="/vsearch/f?keywords=accessibility&amp;pt=jobs&amp;page_num=10"
  data-li-page="10">10</a>


  </li>


  <li class="next">


  <a title="Next Page" class="page-link"
  href="/vsearch/f?keywords=accessibility&amp;pt=jobs&amp;page_num=2"
  rel="next" data-li-page="2">Next &gt;</a>


  </li>


  </ul>


  </div>





  I guess radios do fit the concept.





  Here though, it is only possible to identify related elements if they
  share the same contextual scope ref ID within aria-context. ATs might
  then be able to identify implicit numbering and so on if this is
  available, also to provide a mechanism for jumping between context
  regions, and possibly for identifying the beginning and ending boundaries
  of each.





  I’m not sure if there are other uses of aria-context without
  aria-current, hopefully others can chime in about this too, as well as
  with API mapping possibilities.








  From: Alexander Surkov [mailto:surkov.alexander@gmail.com]


  Sent: Wednesday, May 28, 2014 10:40 AM
  To: Bryan Garaventa
  Cc: Joseph Scheuhammer; Protocols and Formats Working Group

  Subject: Re: ACTION-1442: Create spec. text for aria-context="IDREF" and
  aria-current="true/false", related to issue-587





  I still don't get the difference between radio set idea and aria-context.
  Is there use case for aria-context not related with aria-current usage?
  Also I don't have good idea how AT can use/announce this info. Are there
  thoughts how it can be mapped to accessibility APIs?








  On Wed, May 28, 2014 at 1:29 PM, Bryan Garaventa <
  bryan.garaventa@ssbbartgroup.com> wrote:


  I don’t think it’s necessary for context to handle related aria-current
  elements in the same manner as a radio set. The important thing is to
  convey which is active or not active when assigned, or no active state at
  all if not set.





  From what I understand, the purpose of aria-context is to provide a
  mechanism for user agents to determine scope through the element that
  includes aria-current. This may come into play when aria-current is set
  on an element within a shadow DOM component, when the context is set to a
  container that is outside of that sandboxed control.








  From: Alexander Surkov [mailto:surkov.alexander@gmail.com]
  Sent: Wednesday, May 28, 2014 7:37 AM
  To: Joseph Scheuhammer
  Cc: Bryan Garaventa; Protocols and Formats Working Group



  Subject: Re: ACTION-1442: Create spec. text for aria-context="IDREF" and
  aria-current="true/false", related to issue-587





  Do I understand correct that aria-context is supposed to define a scope
  of aria-current, i.e. to group items that aria-current is applicable to?
  In other words it's similar to HTML @name attribute on
  input@type="radio". Is that correct? How does aria-context affect on user
  experience?


  Thanks.
  Alexander.





  On Wed, May 28, 2014 at 9:43 AM, Joseph Scheuhammer <clown@alum.mit.edu>
  wrote:
   Hi Bryan,

   A couple of points about @aria-context and @aria-owns based on your
   example.

   First, the <div> that defines the context in the example is in no way
   the parent of the <li> elements that could be current. The @aria-owns
   property defines a parent/child relationship.  The <li> elements are
   children of their unordered list parent, and not the contextual <div>.

   As you say, "Aria-context is supposed to convey contextual scope ...".
   Context is not about parent/child relationships. Now, it might happen
   that the contextual element is the parent, but it can be any ancestor of
   the current item.  Thus, @aria-context is not the reverse of @aria-owns.

   Secondly, the way the context <div> is set up results two @id
   attributes:



    <div id="results-pagination" id="contextID" >





   The @id attribute is unique, and an element can only have one of them. I
   *think* you want the context id to be "results-pagination", not
   "contextID".

   Hope that helps.

   --
   ;;;;joseph.


   'A: After all, it isn't rocket science.'
   'K: Right. It's merely computer science.'
                - J. D. Klaun -

Received on Monday, 2 June 2014 11:37:26 UTC