profile
viewpoint

tobie/specref 136

An open-source, community-maintained database of Web standards & related references.

w3c/mathonwebpages 17

Repository for the W3C "Math on the Web" Community Group

Spec-Ops/web-platform-tests 3

Test Suites for Web Platform specifications—including WHATWG, W3C and others

joanmarie/aria 0

Accessible Rich Internet Applications (WAI-ARIA)

joanmarie/aria-common 0

Shared files for the ARIA repositories

joanmarie/caja 0

Caja, the file manager for the MATE desktop

joanmarie/html-aam 0

HTML Accessibility API Mappings -

joanmarie/mathjax-sre-walker 0

A lightweight walker for server-side generated mathjax rendering

joanmarie/specref 0

An open-source, community-maintained database of Web standards & related references.

joanmarie/test-results 0

Selected web-platform-tests results

issue commentmicrosoft/vscode

Orca doesn't read filenames correctly when I use ctrl+tab

Ok, I was able to reproduce it locally.

  • Works as expected in: 1.64.0-insider Commit: 753319a08 (12 Jan)
  • Broken in: 1.64.0-insider Commit: 6612ae0f8 (17 Jan)

I'm afraid I don't have time to bisect. I just hadn't updated my packages in a while and lucked out. :smile:

The bug is that we're no longer getting focus events every time the selected item changes. When the bug happens, we DO get the initial focus event when the list first pops up.

HTH.

jvesouza

comment created time in 2 days

issue commentmicrosoft/vscode

Orca doesn't read filenames correctly when I use ctrl+tab

@jvesouza as a quick check: This isn't an Orca regression, right?

jvesouza

comment created time in 2 days

issue commentw3c/core-aam

Support ARIA 1.3's aria-description property

This is merged already in Core-AAM. @aleventhal is there anything else we need to do before closing this issue?

aleventhal

comment created time in 6 days

issue openedw3c/aria

Inconsistency between native and ARIA listboxes when implicit aria-selected is provided

According to the spec:

If a user agent provides an implicit aria-selected value for an option, the value SHOULD be true if the option has DOM focus or the listbox has DOM focus and the option is referenced by aria-activedescendant. Otherwise, if a user agent provides an implicit aria-selected value for an option, the value SHOULD be false.

This can lead to an inconsistency between native and ARIA listboxes. Consider the following:

<select size="3">
<option>blue</option>
<option>red</option>
<option>green</option>
</select>
<button>ok</button>

If the user arrows down to the "red" option and then presses Tab, "red" is still selected even though the "ok" button is focused. Furthermore, and more importantly, a screen reader's review mode could be used to examine the select list and obtain the currently-selected value without ever changing focus. In the case of Linux, the AtkSelection interface implemented on that select element will return the accessible associated with the "red" option.

In contrast, we have this example:

<div role="listbox" aria-activedescendant="red" tabindex="0">
<div role="option">blue</div>
<div role="option" id="red">red</div>
<div role="option">green</div>
</div>
<button>ok</button>

Assume the author provided keyboard navigation, the user arrowed to "red", the author updated the value of aria-activedescendant accordingly. Then the user pressed Tab to give focus to the "ok" button.

If the user agent provides an implicit aria-selected (which Chrome/Chromium does), the spec states that it should only report the selected item to ATs when the listbox or option is focused. Chrome/Chromium follows this. As a result, a screen reader's review mode cannot be used to examine the listbox and obtain the currently-selected value without ever changing focus.

What is the rationale behind the language in the spec? Is there a benefit to not exposing the selected item when the listbox is no longer focused and introducing this inconsistency between native elements and ARIA?

created time in a month

PullRequestReviewEvent

issue commentw3c/aria

Should user agents calculate aria-posinset and aria-setsize on treegrid row if there is no author-provided value?

Straw poll done during today's ARIA WG meeting:

Yes: 8 No: 0 Abstention: 1

joanmarie

comment created time in a month

push eventw3c/core-aam

James Craig

commit sha 25af133c6a6af00584a6bb479ddd18c4ec1b9ee1

Adding AXSubrole: AXLandmarkForm for form role (#103)

view details

push time in a month

PR merged w3c/core-aam

Adding AXSubrole: AXLandmarkForm for form role

resolves #101

<!-- This comment and the below content is programatically generated. You may add a comma-separated list of anchors you'd like a direct link to below (e.g. #idl-serializers, #idl-sequence):

Don't remove this comment or modify anything below this line.
If you don't want a preview generated for this pull request,
just replace the whole of this comment's content by "no preview"
and remove what's below.

-->


<a href="https://pr-preview.s3.amazonaws.com/w3c/core-aam/pull/103.html" title="Last updated on Dec 7, 2021, 3:30 AM UTC (2ff4aec)">Preview</a> | <a href="https://pr-preview.s3.amazonaws.com/w3c/core-aam/103/2d313d6...2ff4aec.html" title="Last updated on Dec 7, 2021, 3:30 AM UTC (2ff4aec)">Diff</a>

+1 -1

0 comment

1 changed file

cookiecrook

pr closed time in a month

issue closedw3c/core-aam

AX API mapping for role="form" should have AXLandmarkForm

When working on https://github.com/w3c/core-aam/pull/97, I noticed that the AX API mapping for role="form" with an accessible name is AXRole: AXGroup AXSubrole: <nil>. But all of the other landmark roles have a specialized AXLandmark... AXSubrole, for example: AXLandmarkBanner, AXLandmarkComplementary, AXLandmarkContentInfo, AXLandmarkMain, AXLandmarkNavigation, AXLandmarkRegion, AXLandmarkSearch

If I google AXLandmarkForm, I can find @"AXLandmarkForm" in some chromium and mozilla sources, but I can't see it in any open-source Apple files. So I'm not sure if it exists, but I think it should be added to the AX API platform API so that form landmarks can be mapped using AXSubrole: AXLandmarkForm for consistency with all of the other landmarks.

cc: @cookiecrook

closed time in a month

carmacleod
PullRequestReviewEvent

pull request commentIgalia/phpreport

Rename `enjoyed` to `used` when referring to past holidays

"Used" is a good choice. Thanks! :slightly_smiling_face:

anarute

comment created time in a month

issue commentw3c/core-aam

Should form-with-name map to IA2_ROLE_LANDMARK?

@feerrenrut and @jcsteh: Thoughts? Thanks in advance!

carmacleod

comment created time in 2 months

startedMicrosoftEdge/A11y

started time in 2 months

PullRequestReviewEvent

push eventw3c/core-aam

James Nurthen

commit sha 3ce0d76f25bad461e38152599f7432993b23a57a

Add postProcess script to call utility.js (#98)

view details

push time in 2 months

PR merged w3c/core-aam

Reviewers
Add postProcess script to call utility.js

switches authors to platform mapping maintainers in the header

<!-- This comment and the below content is programatically generated. You may add a comma-separated list of anchors you'd like a direct link to below (e.g. #idl-serializers, #idl-sequence):

Don't remove this comment or modify anything below this line.
If you don't want a preview generated for this pull request,
just replace the whole of this comment's content by "no preview"
and remove what's below.

-->


<a href="https://pr-preview.s3.amazonaws.com/w3c/core-aam/pull/98.html" title="Last updated on Nov 18, 2021, 3:55 PM UTC (4950c19)">Preview</a> | <a href="https://pr-preview.s3.amazonaws.com/w3c/core-aam/98/b0df050...4950c19.html" title="Last updated on Nov 18, 2021, 3:55 PM UTC (4950c19)">Diff</a>

+1 -1

1 comment

1 changed file

jnurthen

pr closed time in 2 months

pull request commentw3c/core-aam

Add postProcess script to call utility.js

Thanks! I'd not yet had time to dig into that failure. You rock!!

jnurthen

comment created time in 2 months

push eventw3c/core-aam

Carolyn MacLeod

commit sha 18914a1d44f844fdb1d8e1de9c2a3506dcae2285

Adds a mapping for nameless forms, which fixes core-aam #11. (#97)

view details

push time in 2 months

PR merged w3c/core-aam

Add mapping for nameless forms

Adds a mapping for nameless forms. Fixes #11.

Preview and Diff links not working - <a href="https://raw.githack.com/w3c/core-aam/car/issue11/index.html">githack version</a>

<!-- This comment and the below content is programatically generated. You may add a comma-separated list of anchors you'd like a direct link to below (e.g. #idl-serializers, #idl-sequence):

Don't remove this comment or modify anything below this line.
If you don't want a preview generated for this pull request,
just replace the whole of this comment's content by "no preview"
and remove what's below.

-->


<a href="https://pr-preview.s3.amazonaws.com/w3c/core-aam/pull/97.html" title="Last updated on Nov 18, 2021, 1:03 AM UTC (005cc69)">Preview</a> | <a href="https://pr-preview.s3.amazonaws.com/w3c/core-aam/97/2c9dcb7...005cc69.html" title="Last updated on Nov 18, 2021, 1:03 AM UTC (005cc69)">Diff</a>

+17 -2

0 comment

1 changed file

carmacleod

pr closed time in 2 months

issue closedw3c/core-aam

CORE-AAM: Add conditional platform mappings for nameless forms

From @matatk on January 24, 2017 19:7

This is a spin-off from #513 which resolves that region landmarks should only be considered as such if they are named (via aria-labelledby or aria-label).

Background: I have been researching how screen-readers expose landmarks to users, because I work on a WebExtension that does the same. This issue has been filed as a spin-off from issues filed in other W3C specs (linked below).

This issue proposes that the same approach be applied to form regions, for the reasons mentioned in that thread, and in the related HTML-AAM issue #82 but repeated here for convenience:

  1. There are instances in the wild of <form> elements wrapping whole pages [1,2,3] - these are not really valid landmarks, so considering them as such would add noise and confusion.
  2. When a <form> is 'genuine': if it lacks a label, there's not really any useful landmark information there (it's easy enough to navigate to the form/first form control for most users anyway), so adding all unlabelled forms would add too much noise to the landmark navigation.

Related issues:

  • Related remote issue: https://github.com/w3c/html-aam/issues/82
  • Analagous issue in this repo, relating to region: #513

Copied from original issue: w3c/aria#514

closed time in 2 months

jnurthen
PullRequestReviewEvent

pull request commentw3c/html-aam

Updating HTML elements to map to their Aria 1.2 roles

LGTM. Thanks!

scottaohara

comment created time in 2 months

PullRequestReviewEvent
PullRequestReviewEvent

Pull request review commentw3c/html-aam

Updating HTML elements to map to their Aria 1.2 roles

 <h3>HTML Element Role Mappings</h3>               <th>                 <a data-cite="HTML">`del`</a>               </th>-              <td class="aria">No corresponding role</td>-              <td class="ia2">-                <div class="role">-                  <span class="type">Role:</span> `IA2_ROLE_CONTENT_DELETION`-                </div>-              </td>-              <td class="uia">-                <div class="ctrltype">-                  <span class="type">Control Type:</span> `Text`-                </div>-                <div class="ctrltype">-                  <span class="type">Localized Control Type:</span> `"del"`-                </div>-              </td>-              <td class="atk">-                <div class="role">-                  <span class="type">Role:</span> `ATK_ROLE_CONTENT_DELETION`-                </div>-                <div class="objattrs">-                  <span class="type">Object attributes:</span> `xml-roles:deletion`-                </div>-              </td>-              <td class="ax">-                <div class="role">-                  <span class="type">AXRole:</span> `AXGroup`-                </div>-                <div class="subrole">-                  <span class="type">AXSubrole:</span> `AXDeleteStyleGroup`-                </div>-                <div class="roledesc">-                  <span class="type">AXRoleDescription:</span> `"group"`-                </div>+              <td class="aria">+                <a class="core-mapping" href="#role-map-deletion">`deletion`</a> role               </td>+              <td class="ia2"><div class="general">Use WAI-ARIA mapping</div></td>+              <td class="uia"><div class="general">Use WAI-ARIA mapping</div></td>+              <td class="atk"><div class="general">Use WAI-ARIA mapping</div></td>+              <td class="ax"><div class="general">Use WAI-ARIA mapping</div></td>               <td class="comments"></td>             </tr>             <tr tabindex="-1" id="el-details">               <th>                 <a data-cite="HTML">`details`</a>               </th>-              <td class="aria">No corresponding role</td>-              <td class="ia2">-                <div class="role">-                  <span class="type">Role:</span> `ROLE_SYSTEM_GROUPING`-                </div>-              </td>-              <td class="uia">-                <div class="ctrltype">-                  <span class="type">Control Type:</span> `Group`-                </div>-                <div class="ctrltype">-                  <span class="type">Localized Control Type:</span> `"details"`

This is getting lost.

scottaohara

comment created time in 3 months

Pull request review commentw3c/html-aam

Updating HTML elements to map to their Aria 1.2 roles

 <h3>HTML Element Role Mappings</h3>               <th>                 <a data-cite="HTML">`del`</a>               </th>-              <td class="aria">No corresponding role</td>-              <td class="ia2">-                <div class="role">-                  <span class="type">Role:</span> `IA2_ROLE_CONTENT_DELETION`-                </div>-              </td>-              <td class="uia">-                <div class="ctrltype">-                  <span class="type">Control Type:</span> `Text`-                </div>-                <div class="ctrltype">-                  <span class="type">Localized Control Type:</span> `"del"`-                </div>-              </td>-              <td class="atk">-                <div class="role">-                  <span class="type">Role:</span> `ATK_ROLE_CONTENT_DELETION`-                </div>-                <div class="objattrs">-                  <span class="type">Object attributes:</span> `xml-roles:deletion`-                </div>-              </td>-              <td class="ax">-                <div class="role">-                  <span class="type">AXRole:</span> `AXGroup`-                </div>-                <div class="subrole">-                  <span class="type">AXSubrole:</span> `AXDeleteStyleGroup`-                </div>-                <div class="roledesc">-                  <span class="type">AXRoleDescription:</span> `"group"`-                </div>+              <td class="aria">+                <a class="core-mapping" href="#role-map-deletion">`deletion`</a> role               </td>+              <td class="ia2"><div class="general">Use WAI-ARIA mapping</div></td>+              <td class="uia"><div class="general">Use WAI-ARIA mapping</div></td>+              <td class="atk"><div class="general">Use WAI-ARIA mapping</div></td>+              <td class="ax"><div class="general">Use WAI-ARIA mapping</div></td>               <td class="comments"></td>             </tr>             <tr tabindex="-1" id="el-details">               <th>                 <a data-cite="HTML">`details`</a>               </th>-              <td class="aria">No corresponding role</td>-              <td class="ia2">-                <div class="role">-                  <span class="type">Role:</span> `ROLE_SYSTEM_GROUPING`-                </div>-              </td>-              <td class="uia">-                <div class="ctrltype">-                  <span class="type">Control Type:</span> `Group`-                </div>-                <div class="ctrltype">-                  <span class="type">Localized Control Type:</span> `"details"`-                </div>-              </td>-              <td class="atk">-                <div class="role">-                  <span class="type">Role:</span> `ATK_ROLE_PANEL`-                </div>-                <div class="relations">-                  <span class="type">Relations:</span> `ATK_RELATION_DETAILS_FOR`

This is getting lost.

Aside: I think IA2 added a similar relationship that might be applicable.

scottaohara

comment created time in 3 months

Pull request review commentw3c/html-aam

Updating HTML elements to map to their Aria 1.2 roles

 <h3>HTML Element Role Mappings</h3>               <th>                 <a data-cite="HTML">`del`</a>               </th>-              <td class="aria">No corresponding role</td>-              <td class="ia2">-                <div class="role">-                  <span class="type">Role:</span> `IA2_ROLE_CONTENT_DELETION`-                </div>-              </td>-              <td class="uia">-                <div class="ctrltype">-                  <span class="type">Control Type:</span> `Text`-                </div>-                <div class="ctrltype">-                  <span class="type">Localized Control Type:</span> `"del"`-                </div>-              </td>-              <td class="atk">-                <div class="role">-                  <span class="type">Role:</span> `ATK_ROLE_CONTENT_DELETION`-                </div>-                <div class="objattrs">-                  <span class="type">Object attributes:</span> `xml-roles:deletion`-                </div>-              </td>-              <td class="ax">-                <div class="role">-                  <span class="type">AXRole:</span> `AXGroup`-                </div>-                <div class="subrole">-                  <span class="type">AXSubrole:</span> `AXDeleteStyleGroup`-                </div>-                <div class="roledesc">-                  <span class="type">AXRoleDescription:</span> `"group"`-                </div>+              <td class="aria">+                <a class="core-mapping" href="#role-map-deletion">`deletion`</a> role               </td>+              <td class="ia2"><div class="general">Use WAI-ARIA mapping</div></td>+              <td class="uia"><div class="general">Use WAI-ARIA mapping</div></td>+              <td class="atk"><div class="general">Use WAI-ARIA mapping</div></td>+              <td class="ax"><div class="general">Use WAI-ARIA mapping</div></td>               <td class="comments"></td>             </tr>             <tr tabindex="-1" id="el-details">               <th>                 <a data-cite="HTML">`details`</a>               </th>-              <td class="aria">No corresponding role</td>-              <td class="ia2">-                <div class="role">-                  <span class="type">Role:</span> `ROLE_SYSTEM_GROUPING`-                </div>-              </td>-              <td class="uia">-                <div class="ctrltype">-                  <span class="type">Control Type:</span> `Group`-                </div>-                <div class="ctrltype">-                  <span class="type">Localized Control Type:</span> `"details"`-                </div>-              </td>-              <td class="atk">-                <div class="role">-                  <span class="type">Role:</span> `ATK_ROLE_PANEL`-                </div>-                <div class="relations">-                  <span class="type">Relations:</span> `ATK_RELATION_DETAILS_FOR`-                </div>-              </td>-              <td class="ax">-                <div class="role">-                  <span class="type">AXRole:</span> `AXGroup`-                </div>-                <div class="subrole">-                  <span class="type">AXSubrole:</span> `(nil)`-                </div>-                <div class="roledesc">-                  <span class="type">AXRoleDescription:</span> `"group"`-                </div>+              <td class="aria">+                <a class="core-mapping" href="#role-map-generic">`generic`</a> role

Not sure about this one. At least for ATK, that is going to make the mapping for details be like div (ATK_ROLE_SECTION). The current mapping (ATK_ROLE_PANEL) is what you get from a group.

scottaohara

comment created time in 3 months

PullRequestReviewEvent

pull request commentw3c/aria

Update IDL and enumerated attribute section

crap. clicked on the wrong thing.

jnurthen

comment created time in 3 months

issue openedw3c/svg-aam

Consider removing normative statement regarding "no accessible object created"

In Excluding Elements from the Accessibility Tree, it states:

User agents MUST NOT include any elements, or their descendant content, as an accessible object in the accessibility tree that are indicated as no accessible object created in the SVG Element Mapping Table.

For the most part this JustWorks(tm) in implementations. But if an author applies a role to one of the prohibited elements and that element is rendered, explicit handling might be needed in order to comply with the above normative statement. This is (at least) the case in Chrome. I have a pending implementation. However the reviewer (@aleventhal) stated:

I'm not yet convinced the current code is wrong.

If someone adds role="button" and display:block to a normally hidden tag, and it actually gets rendered, then I think it should be exposed as a button in case it receives focus.

It's also a pretty bizarre case, no?

IOW I don't see the real-world value of the additional lines of code.

And we decided to file an issue here and see if that is something validators should handle, and give user agents more flexibility regarding handling this author error.

created time in 3 months

more