<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>166571</bug_id>
          
          <creation_ts>2016-12-29 00:06:50 -0800</creation_ts>
          <short_desc>AX: Need to expose frames to iOS Accessibility</short_desc>
          <delta_ts>2016-12-29 10:47:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>mario</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1263019</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2016-12-29 00:06:50 -0800</bug_when>
    <thetext>To support navigation by frame for VoiceOver on iOS, we need to expose the frame ancestor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263021</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-12-29 00:08:22 -0800</bug_when>
    <thetext>&lt;rdar://problem/29823724&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263022</commentid>
    <comment_count>2</comment_count>
      <attachid>297825</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2016-12-29 00:11:44 -0800</bug_when>
    <thetext>Created attachment 297825
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263023</commentid>
    <comment_count>3</comment_count>
      <attachid>297826</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2016-12-29 00:13:26 -0800</bug_when>
    <thetext>Created attachment 297826
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263033</commentid>
    <comment_count>4</comment_count>
      <attachid>297826</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-12-29 01:30:55 -0800</bug_when>
    <thetext>Comment on attachment 297826
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=297826&amp;action=review

&gt; Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:592
&gt; +    if (const AccessibilityObject* parent = AccessibilityObject::matchedParent(*m_object, false, [] (const AccessibilityObject&amp; object) {
&gt; +        return object.isWebArea();
&gt; +    }))
&gt; +        return parent-&gt;wrapper();
&gt; +    return nil;

In WebKit we normally use early exit for errors rather than wrapping success in an if. I also think auto would be good to use here. So I would write:

    auto* parent = AccessibilityObject::matchedParent(*m_object, false, [] (const AccessibilityObject&amp; object) {
        return object.isWebArea();
    });
    if (!parent)
        return nil;
    return parent-&gt;wrapper;

But I still think the auto* is an improvement even if you want ot keep it nested the way you have it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263060</commentid>
    <comment_count>5</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2016-12-29 09:23:36 -0800</bug_when>
    <thetext>Thanks, will make those changes

(In reply to comment #4)
&gt; Comment on attachment 297826 [details]
&gt; patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=297826&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:592
&gt; &gt; +    if (const AccessibilityObject* parent = AccessibilityObject::matchedParent(*m_object, false, [] (const AccessibilityObject&amp; object) {
&gt; &gt; +        return object.isWebArea();
&gt; &gt; +    }))
&gt; &gt; +        return parent-&gt;wrapper();
&gt; &gt; +    return nil;
&gt; 
&gt; In WebKit we normally use early exit for errors rather than wrapping success
&gt; in an if. I also think auto would be good to use here. So I would write:
&gt; 
&gt;     auto* parent = AccessibilityObject::matchedParent(*m_object, false, []
&gt; (const AccessibilityObject&amp; object) {
&gt;         return object.isWebArea();
&gt;     });
&gt;     if (!parent)
&gt;         return nil;
&gt;     return parent-&gt;wrapper;
&gt; 
&gt; But I still think the auto* is an improvement even if you want ot keep it
&gt; nested the way you have it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263065</commentid>
    <comment_count>6</comment_count>
      <attachid>297835</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2016-12-29 09:40:12 -0800</bug_when>
    <thetext>Created attachment 297835
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263071</commentid>
    <comment_count>7</comment_count>
      <attachid>297835</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-29 10:47:22 -0800</bug_when>
    <thetext>Comment on attachment 297835
patch for landing

Clearing flags on attachment: 297835

Committed r210205: &lt;http://trac.webkit.org/changeset/210205&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263072</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-29 10:47:25 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297825</attachid>
            <date>2016-12-29 00:11:44 -0800</date>
            <delta_ts>2016-12-29 00:13:26 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>1774</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMDIwMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE2LTEyLTI5ICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IE5lZWQgdG8gZXhw
b3NlIGZyYW1lcyB0byBpT1MgQWNjZXNzaWJpbGl0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2NTcxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8y
OTgyMzcyND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUbyBzdXBwb3J0IG5hdmlnYXRpb24gYnkgZnJhbWUgZm9yIFZvaWNlT3ZlciBvbiBpT1MsIHdl
IG5lZWQgdG8gZXhwb3NlIHRoZSBmcmFtZSBhbmNlc3Rvci4gCisKKyAgICAgICAgKiBhY2Nlc3Np
YmlsaXR5L2lvcy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5tbToKKyAgICAgICAg
KC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgX2FjY2Vzc2liaWxpdHlGcmFtZUFuY2Vz
dG9yXSk6CisKIDIwMTYtMTItMDkgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW2Nzcy1ncmlkXSBNb3ZlIEdyaWQgaW50byBHcmlkU2l6aW5nRGF0
YQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvV2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXJJT1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9pb3MvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW0JKHJldmlzaW9u
IDIxMDIwMykKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVySU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01MzksNyArNTM5LDcg
QEAKICAgICB9OwogICAgIAogICAgIGlmIChjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBwYXJl
bnQgPSBBY2Nlc3NpYmlsaXR5T2JqZWN0OjptYXRjaGVkUGFyZW50KCptX29iamVjdCwgZmFsc2Us
IG1hdGNoRnVuYykpCi0gICAgICAgIHJldHVybiBwYXJlbnQtPndyYXBwZXIoKTsKK3JldHVybiBw
YXJlbnQtPndyYXBwZXIoKTsKICAgICByZXR1cm4gbmlsOwogfQogCkBAIC01ODMsNiArNTgzLDE1
IEBACiAgICAgcmV0dXJuIG5pbDsKIH0KIAorLSAoQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIq
KV9hY2Nlc3NpYmlsaXR5RnJhbWVBbmNlc3RvcgoreworICAgIGlmIChjb25zdCBBY2Nlc3NpYmls
aXR5T2JqZWN0KiBwYXJlbnQgPSBBY2Nlc3NpYmlsaXR5T2JqZWN0OjptYXRjaGVkUGFyZW50KCpt
X29iamVjdCwgZmFsc2UsIFtdIChjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QpIHsK
KyAgICAgICAgcmV0dXJuIG9iamVjdC5pc1dlYkFyZWEoKTsKKyAgICB9KSkKKyAgICAgICAgcmV0
dXJuIHBhcmVudC0+d3JhcHBlcigpOworICAgIHJldHVybiBuaWw7Cit9CisKIC0gKHVpbnQ2NF90
KV9hY2Nlc3NpYmlsaXR5VHJhaXRzRnJvbUFuY2VzdG9ycwogewogICAgIHVpbnQ2NF90IHRyYWl0
cyA9IDA7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297826</attachid>
            <date>2016-12-29 00:13:26 -0800</date>
            <delta_ts>2016-12-29 09:40:12 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>1546</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMDIwMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE2LTEyLTI5ICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IE5lZWQgdG8gZXhw
b3NlIGZyYW1lcyB0byBpT1MgQWNjZXNzaWJpbGl0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2NTcxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8y
OTgyMzcyND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUbyBzdXBwb3J0IG5hdmlnYXRpb24gYnkgZnJhbWUgZm9yIFZvaWNlT3ZlciBvbiBpT1MsIHdl
IG5lZWQgdG8gZXhwb3NlIHRoZSBmcmFtZSBhbmNlc3Rvci4gCisKKyAgICAgICAgKiBhY2Nlc3Np
YmlsaXR5L2lvcy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5tbToKKyAgICAgICAg
KC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgX2FjY2Vzc2liaWxpdHlGcmFtZUFuY2Vz
dG9yXSk6CisKIDIwMTYtMTItMDkgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW2Nzcy1ncmlkXSBNb3ZlIEdyaWQgaW50byBHcmlkU2l6aW5nRGF0
YQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvV2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXJJT1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9pb3MvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW0JKHJldmlzaW9u
IDIxMDIwMykKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVySU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01ODMsNiArNTgzLDE1
IEBACiAgICAgcmV0dXJuIG5pbDsKIH0KIAorLSAoQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIq
KV9hY2Nlc3NpYmlsaXR5RnJhbWVBbmNlc3RvcgoreworICAgIGlmIChjb25zdCBBY2Nlc3NpYmls
aXR5T2JqZWN0KiBwYXJlbnQgPSBBY2Nlc3NpYmlsaXR5T2JqZWN0OjptYXRjaGVkUGFyZW50KCpt
X29iamVjdCwgZmFsc2UsIFtdIChjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QpIHsK
KyAgICAgICAgcmV0dXJuIG9iamVjdC5pc1dlYkFyZWEoKTsKKyAgICB9KSkKKyAgICAgICAgcmV0
dXJuIHBhcmVudC0+d3JhcHBlcigpOworICAgIHJldHVybiBuaWw7Cit9CisKIC0gKHVpbnQ2NF90
KV9hY2Nlc3NpYmlsaXR5VHJhaXRzRnJvbUFuY2VzdG9ycwogewogICAgIHVpbnQ2NF90IHRyYWl0
cyA9IDA7Cg==
</data>
<flag name="review"
          id="320110"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297835</attachid>
            <date>2016-12-29 09:40:12 -0800</date>
            <delta_ts>2016-12-29 10:47:22 -0800</delta_ts>
            <desc>patch for landing</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>1536</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMDIwMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE2LTEyLTI5ICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IE5lZWQgdG8gZXhw
b3NlIGZyYW1lcyB0byBpT1MgQWNjZXNzaWJpbGl0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2NTcxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8y
OTgyMzcyND4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBU
byBzdXBwb3J0IG5hdmlnYXRpb24gYnkgZnJhbWUgZm9yIFZvaWNlT3ZlciBvbiBpT1MsIHdlIG5l
ZWQgdG8gZXhwb3NlIHRoZSBmcmFtZSBhbmNlc3Rvci4gCisKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L2lvcy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5tbToKKyAgICAgICAgKC1b
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgX2FjY2Vzc2liaWxpdHlGcmFtZUFuY2VzdG9y
XSk6CisKIDIwMTYtMTItMDkgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW2Nzcy1ncmlkXSBNb3ZlIEdyaWQgaW50byBHcmlkU2l6aW5nRGF0YQpJ
bmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJJT1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9pb3MvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW0JKHJldmlzaW9uIDIx
MDIwMykKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVySU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01ODMsNiArNTgzLDE2IEBA
CiAgICAgcmV0dXJuIG5pbDsKIH0KIAorLSAoQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIqKV9h
Y2Nlc3NpYmlsaXR5RnJhbWVBbmNlc3RvcgoreworICAgIGF1dG8qIHBhcmVudCA9IEFjY2Vzc2li
aWxpdHlPYmplY3Q6Om1hdGNoZWRQYXJlbnQoKm1fb2JqZWN0LCBmYWxzZSwgW10gKGNvbnN0IEFj
Y2Vzc2liaWxpdHlPYmplY3QmIG9iamVjdCkgeworICAgICAgICByZXR1cm4gb2JqZWN0LmlzV2Vi
QXJlYSgpOworICAgIH0pOworICAgIGlmICghcGFyZW50KQorICAgICAgICByZXR1cm4gbmlsOwor
ICAgIHJldHVybiBwYXJlbnQtPndyYXBwZXIoKTsKK30KKwogLSAodWludDY0X3QpX2FjY2Vzc2li
aWxpdHlUcmFpdHNGcm9tQW5jZXN0b3JzCiB7CiAgICAgdWludDY0X3QgdHJhaXRzID0gMDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>