Bug 163367

Summary: AX: [Mac] better accessibility support for Summary elements
Product: WebKit Reporter: Nan Wang <n_wang>
Component: AccessibilityAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: aboxhall, apinheiro, cfleizach, commit-queue, dmazzoni, jcraig, jdiggs, mario, n_wang, samuel_white, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: All   
OS: All   
Attachments:
Description Flags
patch
none
patch
none
patch
none
patch
none
patch
darin: review+
patch for landing none

Nan Wang
Reported 2016-10-12 16:21:06 PDT
- Summary element should be exposed as some form of AXButton Mapping: AXButton/AXSummary/summary - Summary element should use its text node as AXTitle
Attachments
patch (11.35 KB, patch)
2016-10-12 16:39 PDT, Nan Wang
no flags
patch (23.47 KB, patch)
2016-10-13 00:11 PDT, Nan Wang
no flags
patch (23.34 KB, patch)
2016-10-13 00:33 PDT, Nan Wang
no flags
patch (24.94 KB, patch)
2016-10-13 00:46 PDT, Nan Wang
no flags
patch (25.02 KB, patch)
2016-10-13 00:52 PDT, Nan Wang
darin: review+
patch for landing (26.24 KB, patch)
2016-10-13 14:15 PDT, Nan Wang
no flags
Radar WebKit Bug Importer
Comment 1 2016-10-12 16:21:53 PDT
Nan Wang
Comment 2 2016-10-12 16:39:20 PDT
chris fleizach
Comment 3 2016-10-12 17:02:39 PDT
Comment on attachment 291415 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=291415&action=review > Source/WebCore/accessibility/AccessibilityObject.cpp:2483 > + for (AccessibilityObject* parentObject = this->parentObject(); parentObject; parentObject = parentObject->parentObject()) { do we have an enclosure for this? > Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:1413 > + if (m_object->supportsExpanded() || m_object->isSummary()) should supportsExpanded() also include isSummary()?
Nan Wang
Comment 4 2016-10-12 17:06:22 PDT
Comment on attachment 291415 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=291415&action=review >> Source/WebCore/accessibility/AccessibilityObject.cpp:2483 >> + for (AccessibilityObject* parentObject = this->parentObject(); parentObject; parentObject = parentObject->parentObject()) { > > do we have an enclosure for this? we don't in this class. >> Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:1413 >> + if (m_object->supportsExpanded() || m_object->isSummary()) > > should supportsExpanded() also include isSummary()? I think it's the detail element that actually has the expanded status. I'm not sure how other platform is doing this, so putting here to only affect mac.
Nan Wang
Comment 5 2016-10-13 00:11:47 PDT
Created attachment 291460 [details] patch Added the enclosure for finding the parent object
chris fleizach
Comment 6 2016-10-13 00:21:41 PDT
Comment on attachment 291460 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=291460&action=review > Source/WebCore/accessibility/AccessibilityObject.cpp:463 > + return AccessibilityObject::matchedParent(const_cast<AccessibilityObject*>(this), false, matchFunc); can we write these enclosures inline to save space? return AccessibilityObject::matchedParent(const_cast<AccessibilityObject*>(this), false, [](AccessibilityObject* object) { 461 return !object->accessibilityIsIgnored(); 462 });
Nan Wang
Comment 7 2016-10-13 00:33:36 PDT
Created attachment 291461 [details] patch updated style
WebKit Commit Bot
Comment 8 2016-10-13 00:35:58 PDT
Attachment 291461 [details] did not pass style-queue: ERROR: Source/WebCore/accessibility/AccessibilityObject.cpp:460: More than one command on the same line [whitespace/newline] [4] ERROR: Source/WebCore/accessibility/AccessibilityObject.cpp:1696: More than one command on the same line [whitespace/newline] [4] ERROR: Source/WebCore/accessibility/AccessibilityObject.cpp:1790: More than one command on the same line [whitespace/newline] [4] ERROR: Source/WebCore/accessibility/AccessibilityObject.cpp:2315: More than one command on the same line [whitespace/newline] [4] ERROR: Source/WebCore/accessibility/AccessibilityObject.cpp:2484: More than one command on the same line [whitespace/newline] [4] ERROR: Source/WebCore/accessibility/AccessibilityObject.cpp:2945: More than one command on the same line [whitespace/newline] [4] ERROR: Source/WebCore/accessibility/AccessibilityObject.cpp:3043: More than one command on the same line [whitespace/newline] [4] ERROR: Source/WebCore/accessibility/AccessibilityObject.cpp:3049: More than one command on the same line [whitespace/newline] [4] Total errors found: 8 in 10 files If any of these errors are false positives, please file a bug against check-webkit-style.
Nan Wang
Comment 9 2016-10-13 00:46:14 PDT
Created attachment 291462 [details] patch updated style again.
Nan Wang
Comment 10 2016-10-13 00:52:24 PDT
Created attachment 291464 [details] patch Oops.. missed something
Darin Adler
Comment 11 2016-10-13 12:20:54 PDT
Comment on attachment 291464 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=291464&action=review > Source/WebCore/accessibility/AccessibilityObject.h:1066 > + static AccessibilityObject* matchedParent(AccessibilityObject*, bool includeSelf, const std::function<bool(AccessibilityObject*)>&); I don’t think the types are quite right here. I think we should probably use const versions and take references. The passed in function should take an AccesibilityObject&, not an AccessibilityObject*. static const AccessibilityObject* matchedParent(const AccessibilityObject&, bool includeSelf, const std::function<bool(const AccessibilityObject&)>&); And if we really need a non-const version (I am not sure we do): static AccessibilityObject* matchedParent(AccessibilityObject&, bool includeSelf, const std::function<bool(const AccessibilityObject&)>&);
Nan Wang
Comment 12 2016-10-13 14:15:43 PDT
Created attachment 291515 [details] patch for landing Updated the types based on the review. Changed lots of code so uploaded a patch to see if everything still works.
WebKit Commit Bot
Comment 13 2016-10-13 15:54:55 PDT
Comment on attachment 291515 [details] patch for landing Clearing flags on attachment: 291515 Committed r207314: <http://trac.webkit.org/changeset/207314>
WebKit Commit Bot
Comment 14 2016-10-13 15:55:00 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.