Closed Bug 1113153 Opened 6 years ago Closed 5 years ago

[ATK] Children of tables and lists with role='presentation' should each be exposed with ATK_ROLE_SECTION

Categories

(Core :: Disability Access APIs, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla41
Tracking Status
firefox41 --- fixed

People

(Reporter: jdiggs, Assigned: surkov)

References

(Blocks 3 open bugs)

Details

Attachments

(2 files)

Bug 1013584 was filed by me to achieve what is stated in this bug's summary. As you'll see in the history of bug 1013584, the "fix" was to not expose these children as if they were divs (aka ROLE_SECTION) as expected. Instead, as you'll see in bug 1013584 comment 20:

  <li> exposed as ROLE_PARAGRAPH.
  <td> exposed as ROLE_TEXT + AccessibleText interface.

The impact of doing the former is that it will cause Orca's paragraph navigation to include things which are not paragraphs. To avoid introducing this problem into Orca, you could use ATK_ROLE_SECTION (as I had requested in bug 1013584).

As for ROLE_TEXT, as you will see in the ATK documentation [1]

<quote>
ATK_ROLE_TEXT
An interactive widget that supports multiple lines of text and optionally accepts user input, but whose purpose is not to solicit user input. Thus ATK_ROLE_TEXT is appropriate for the text view in a plain text editor but inappropriate for an input field in a dialog box or web form. For widgets whose purpose is to solicit input from the user, see ATK_ROLE_ENTRY and ATK_ROLE_PASSWORD_TEXT. For generic objects which display a brief amount of textual information, see ATK_ROLE_STATIC.
</quote>

Clearly ATK_ROLE_TEXT is not appropriate. ATK_ROLE_STATIC might be, but unless you programmatically verify that the table cell really has a brief amount of textual information, it might be preferable to instead use ATK_ROLE_SECTION as I had requested in bug 1013584.

[1] https://developer.gnome.org/atk/unstable/AtkObject.html#AtkRole
With a nightly FF 37.0a1 (2014-12-11), the roles exposed in this test file are:

<li>:  ROLE_PARAGAPH
<td>:  ROLE_TEXT
<div>: ROLE_SECTION

The first list item contains two paragraphs, and that leads to, in the a11y tree, a ROLE_PARAGRAPH that contains two children with ROLE_PARAGRAPH.  It would make more sense if that <li> was mapped to a ROLE_SECTION containing the two paragraph children.
Ping?
Attached patch patchSplinter Review
1) use paragraph role for HTML:p
2) introduce text role for inline text containers
Assignee: nobody → surkov.alexander
Status: NEW → ASSIGNED
Attachment #8604921 - Flags: review?(mzehe)
Attachment #8604921 - Flags: review?(mzehe) → review+
https://hg.mozilla.org/mozilla-central/rev/c672d7cfaa80
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla41
You need to log in before you can comment on or make changes to this bug.