Closed Bug 960382 Opened 11 years ago Closed 10 years ago

Accessible table rows should be of ATK_ROLE_TABLE_ROW; not ATK_ROLE_LIST_ITEM

Categories

(Core :: Disability Access APIs, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla30

People

(Reporter: jdiggs, Assigned: jwei)

References

(Blocks 2 open bugs)

Details

Attachments

(3 files)

Steps to reproduce:
1. Load the attached accessible-event listener in a terminal
2. Load the attached test case

Expected results: Table rows exposed as accessible objects would have ROLE_TABLE_ROW.

Actual results: Table rows exposed as accessible objects would have ROLE_LIST_ITEM.

Impact: AT developers must scratch their heads at amazement as to why there are list items in tables that have no lists. :P :P Jokes aside, it's yet another thing Orca has to check as part of its heuristic figuring out what a list item really is and what should be presented as a result. Using a more appropriate role here will make it possible for me to remove yet another hack from Orca.

Please and thank you. :)
$ ./hierarchy.py 
-> [document frame | file:///home/jd/tablerow.html]
    -> [table | ]
        -> [list item | Col 1 Col 2]
            -> [column header | Col 1]
            -> [column header | Col 2]
        -> [list item | Cell 1 Cell 2]
            -> [table cell | ]
            -> [table cell | ]
        -> [list item | Cell 3 Cell 4]
            -> [table cell | ]
            -> [table cell | ]
similar to bug 960228. I'm curious if those roles were introduced relatively recently after original ATK support was landed in Firefox?
ah, I see, this is a bug 670067
Fixed in the same fashion as bug 960228.
Assignee: nobody → jwei
Attachment #8374168 - Flags: review?(trev.saunders)
Comment on attachment 8374168 [details] [diff] [review]
Use ATK_ROLE_TABLE_ROW where available

> IsAtkVersionAtLeast(int aMajor, int aMinor)
> {
>-  return aMajor < atkMajorVersion && aMinor < atkMinorVersion;

what drugs am I on :(

>+  return aMajor < atkMajorVersion ||
>+         (aMajor == atkMajorVersion && aMinor <= atkMinorVersion);

shouldn't those be > and >= respectively?
(In reply to Trevor Saunders (:tbsaunde) from comment #5)
> Comment on attachment 8374168 [details] [diff] [review]
> Use ATK_ROLE_TABLE_ROW where available
>
> >+  return aMajor < atkMajorVersion ||
> >+         (aMajor == atkMajorVersion && aMinor <= atkMinorVersion);
> 
> shouldn't those be > and >= respectively?

We're checking that our ATK version (atkMajorVersion and atkMinorVersion) are at least as recent as, or greater than or equal to, the passed in version numbers (aMajor and aMinor).  I think it stays <, ==, and <=, unless I've totally misinterpreted what it's doing.
(In reply to Jonathan Wei [:jwei] from comment #6)
> (In reply to Trevor Saunders (:tbsaunde) from comment #5)
> > Comment on attachment 8374168 [details] [diff] [review]
> > Use ATK_ROLE_TABLE_ROW where available
> >
> > >+  return aMajor < atkMajorVersion ||
> > >+         (aMajor == atkMajorVersion && aMinor <= atkMinorVersion);
> > 
> > shouldn't those be > and >= respectively?
> 
> We're checking that our ATK version (atkMajorVersion and atkMinorVersion)
> are at least as recent as, or greater than or equal to, the passed in
> version numbers (aMajor and aMinor).  I think it stays <, ==, and <=, unless
> I've totally misinterpreted what it's doing.

yeah, your right, guess I'm still out of it :(
Attachment #8374168 - Flags: review?(trev.saunders) → review+
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/282b6e88f9d4
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla30
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: