<?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>132355</bug_id>
          
          <creation_ts>2014-04-29 14:30:50 -0700</creation_ts>
          <short_desc>AX: WebKit could infer AXDisclosedByRow correctly on this invalidly nested tree example</short_desc>
          <delta_ts>2014-04-29 14:31:48 -0700</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>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="James Craig">jcraig</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1005115</commentid>
    <comment_count>0</comment_count>
      <attachid>230420</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-04-29 14:30:50 -0700</bug_when>
    <thetext>Created attachment 230420
test case

AX: WebKit could infer AXDisclosedByRow correctly on this invalidly nested tree example.

This markup example leaves much to be desired, b/c are a bunch of extraneous groups in the tree.

- non-presentational LIs in-between the tree and the first-level treeitems.
- extraneous non-presentational DIVs in-between the first-level items and second-level items. 
- irrelevant/extraneous @aria-owns relationships pointing to descendant nodes.

That said, WebKit does a pretty good job of cleaning it up for the AX tree. The AXOutlineRows and AXLevels are exposed correctly. I think the only bug I noticed is that AXDisclosedByRow is &lt;nil&gt; on the second-level rows, so VO speaks &quot;0 items enclosed&quot;. The ancestor hierarchy is intact, so we may just need WebKit to walk higher up the DOM tree to find the correct disclosing row. WebKit should normalize this scenario if possible.

Hearsay: ~&quot;JAWS+FF works with this example.&quot; If so, one or both of those is normalizing the invalid markup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005116</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-04-29 14:31:48 -0700</bug_when>
    <thetext>&lt;rdar://problem/16761069&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>230420</attachid>
            <date>2014-04-29 14:30:50 -0700</date>
            <delta_ts>2014-04-29 14:30:50 -0700</delta_ts>
            <desc>test case</desc>
            <filename>invalid-nesting.html</filename>
            <type>text/html</type>
            <size>2073</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">PHA+Y29udGVudCBiZWZvcmU8L3A+Cgo8dWwgYXJpYS1vd25zPSJub2RlMSBub2RlMiBub2RlMyBu
b2RlNCIgcm9sZT0idHJlZSIgYXJpYS1sYWJlbD0iQnJvd3NlIEhhbWxldCwgYnkgV2lsbGlhbSBT
aGFrZXNwZWFyZSI+Cgk8bGk+CgkJPGEgaHJlZj0iIyIgaWQ9Im5vZGUxIiBjbGFzcz0iYnJhbmNo
IiBhcmlhLWxhYmVsPSJBQ1QgSSIgcm9sZT0idHJlZWl0ZW0iIGFyaWEtc2V0c2l6ZT0iNCIgYXJp
YS1wb3NpbnNldD0iMSIgYXJpYS1sZXZlbD0iMSIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9
InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj4KCQkJPHNwYW4+QUNUIEk8L3NwYW4+CgkJPC9h
PgoJPC9saT4KCTxsaT4KCQk8YSBocmVmPSIjIiBpZD0ibm9kZTIiIGNsYXNzPSJicmFuY2ggc2Vs
ZWN0ZWQiIGFyaWEtbGFiZWw9IkFDVCBJSSIgcm9sZT0idHJlZWl0ZW0iIGFyaWEtc2V0c2l6ZT0i
NCIgYXJpYS1wb3NpbnNldD0iMiIgYXJpYS1sZXZlbD0iMSIgdGFiaW5kZXg9IjAiIGFyaWEtc2Vs
ZWN0ZWQ9InRydWUiIGFyaWEtZXhwYW5kZWQ9InRydWUiIGFyaWEtb3ducz0iYXJpYTEzOTg3MjY5
NjM4MjYiPgoJCQk8c3Bhbj5BQ1QgSUk8L3NwYW4+CgkJPC9hPgoJCTxkaXYgaWQ9IkFjY0RDMTM5
ODcyNjk2MzgyMSIgY2xhc3M9IlRyZWVWaWV3Ij4KCQkJPGRpdiBzdHlsZT0icG9zaXRpb246IGFi
c29sdXRlOyBjbGlwOiByZWN0KDFweCAxcHggMXB4IDFweCk7IHBhZGRpbmc6IDBweDsgYm9yZGVy
OiAwcHg7IGhlaWdodDogMXB4OyB3aWR0aDogMXB4OyBvdmVyZmxvdzogaGlkZGVuOyB6LWluZGV4
OiAtMTAwMDsiPjwvZGl2PgoJCQk8ZGl2IGlkPSJBY2NEQzEzOTg3MjY5NjM4MjgiPgoJCQkJPHVs
IGFyaWEtb3ducz0ibm9kZTItMSBub2RlMi0yIiByb2xlPSJncm91cCIgaWQ9ImFyaWExMzk4NzI2
OTYzODI2Ij4KCQkJCQk8bGk+CgkJCQkJCTxhIGhyZWY9IiMiIGlkPSJub2RlMi0xIiBjbGFzcz0i
bGVhZiBhY3RpdmUiIGFyaWEtbGFiZWw9IlNDRU5FIEkuIiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1z
ZXRzaXplPSIyIiBhcmlhLXBvc2luc2V0PSIxIiBhcmlhLWxldmVsPSIyIiB0YWJpbmRleD0iLTEi
IGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIj4KCQkJCQkJCTxzcGFuPlNDRU5FIEkuPC9zcGFuPgoJCQkJ
CQk8L2E+CgkJCQkJPC9saT4KCQkJCQk8bGk+CgkJCQkJCTxhIGhyZWY9IiMiIGlkPSJub2RlMi0y
IiBjbGFzcz0ibGVhZiIgYXJpYS1sYWJlbD0iU0NFTkUgSUkuIiByb2xlPSJ0cmVlaXRlbSIgYXJp
YS1zZXRzaXplPSIyIiBhcmlhLXBvc2luc2V0PSIyIiBhcmlhLWxldmVsPSIyIiB0YWJpbmRleD0i
LTEiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIj4KCQkJCQkJCTxzcGFuPlNDRU5FIElJLjwvc3Bhbj4K
CQkJCQkJPC9hPgoJCQkJCTwvbGk+CgkJCQk8L3VsPgoJCQk8L2Rpdj4KCQkJPGRpdiBzdHlsZT0i
cG9zaXRpb246IGFic29sdXRlOyBjbGlwOiByZWN0KDFweCAxcHggMXB4IDFweCk7IHBhZGRpbmc6
IDBweDsgYm9yZGVyOiAwcHg7IGhlaWdodDogMXB4OyB3aWR0aDogMXB4OyBvdmVyZmxvdzogaGlk
ZGVuOyB6LWluZGV4OiAtMTAwMDsiPgoJCQk8L2Rpdj4KCQk8L2Rpdj4KCTwvbGk+Cgk8bGk+CgkJ
PGEgaHJlZj0iIyIgaWQ9Im5vZGUzIiBjbGFzcz0iYnJhbmNoIiBhcmlhLWxhYmVsPSJBQ1QgSUlJ
IiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1zZXRzaXplPSI0IiBhcmlhLXBvc2luc2V0PSIzIiBhcmlh
LWxldmVsPSIxIiB0YWJpbmRleD0iLTEiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLWV4cGFu
ZGVkPSJmYWxzZSI+CgkJCTxzcGFuPkFDVCBJSUk8L3NwYW4+CgkJPC9hPgoJPC9saT4KCTxsaT4K
CQk8YSBocmVmPSIjIiBpZD0ibm9kZTQiIGNsYXNzPSJicmFuY2giIGFyaWEtbGFiZWw9IkFDVCBJ
ViIgcm9sZT0idHJlZWl0ZW0iIGFyaWEtc2V0c2l6ZT0iNCIgYXJpYS1wb3NpbnNldD0iNCIgYXJp
YS1sZXZlbD0iMSIgdGFiaW5kZXg9Ii0xIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1leHBh
bmRlZD0iZmFsc2UiPgoJCQk8c3Bhbj5BQ1QgSVY8L3NwYW4+CgkJPC9hPgoJPC9saT4KPC91bD4K
CjxwPmNvbnRlbnQgYWZ0ZXI8L3A+
</data>

          </attachment>
      

    </bug>

</bugzilla>