Closed Bug 1177640 Opened 9 years ago Closed 9 years ago

[Mac] Do not expose HTML table semantics for "layout" tables

Categories

(Core :: Disability Access APIs, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla44
Tracking Status
firefox42 --- affected
firefox44 --- fixed

People

(Reporter: fredw, Assigned: fredw)

References

Details

Attachments

(3 files, 3 obsolete files)

Attached file Testcase (obsolete) —
Assignee: nobody → fred.wang
Status: NEW → ASSIGNED
Attached patch Patch (obsolete) — Splinter Review
Attached file Testcase
Attachment #8667313 - Attachment is obsolete: true
Trying attachment 8667522 [details] with Yura, the layout tables are now indeed rendered with AXGroup objects.

However, this makes nighly crash in accessibilityAttributeValue with the "Attachments" of Bugzilla...
Attached file bugzilla-table.html
Depends on: CVE-2015-7192
Group: core-security
> Group: core-security

Sorry, I didn't want to make this a security bug.
@Marco Can you please try that one:

http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/fred.wang@free.fr-b123129dfc3f/try-macosx64/firefox-44.0a1.en-US.mac.dmg

I verified that the crash no longer happens and that the table elements are now presented as AXGroups. However, I don't know if that's what you meant in bug 744790 comment 5.
Flags: needinfo?(mzehe)
Yes, this works like I would expect now.
Flags: needinfo?(mzehe)
Attachment #8667402 - Flags: review?(surkov.alexander)
Comment on attachment 8667402 [details] [diff] [review]
Patch

Review of attachment 8667402 [details] [diff] [review]:
-----------------------------------------------------------------

::: accessible/mac/mozAccessible.mm
@@ +223,5 @@
>  
>    NS_OBJC_END_TRY_ABORT_BLOCK_RETURN(NO);
>  }
>  
> +- (BOOL)isComponentOfLayoutTable

nit: might be nice to name if isLayoutTablePart to make it sync with nsAccessibilityService names

@@ +241,5 @@
> +      table = accWrap->AsTableCell()->Table();
> +    }
> +    if (table && table->IsProbablyLayoutTable()) {
> +      return true;
> +    }

nit: return false; and no else

@@ +939,5 @@
>    }
>  
> +  if ([self isComponentOfLayoutTable]) {
> +    return NSAccessibilityGroupRole;
> +  }

I wish we had something nicer than checking table stuff for each role.
Attachment #8667402 - Flags: review?(surkov.alexander) → review+
Attached patch Patch V2 (obsolete) — Splinter Review
Attachment #8667402 - Attachment is obsolete: true
Attached patch Patch V3Splinter Review
Attachment #8668195 - Attachment is obsolete: true
Whiteboard: [please remove from security-sensitive group]
https://treeherder.mozilla.org/#/jobs?repo=try&revision=45bd8cd8985e

(In reply to alexander :surkov from comment #9)
> I wish we had something nicer than checking table stuff for each role.

This will be handled in bug 1178272.
https://treeherder.mozilla.org/#/jobs?repo=try&revision=45bd8cd8985e
Keywords: checkin-needed
Whiteboard: [please remove from security-sensitive group] → [please remove from security-sensitive group - see comment 6]
Blocks: 1178272
Group: core-security
Whiteboard: [please remove from security-sensitive group - see comment 6]
https://hg.mozilla.org/mozilla-central/rev/96f19a715e61
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla44
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: