[Webkit-unassigned] [Bug 261680] AX: columnHeaders() and rowHeaders() are performed on the main thread in ITM
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Sep 18 17:45:36 PDT 2023
https://bugs.webkit.org/show_bug.cgi?id=261680
Tyler Wilcock <tyler_w at apple.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |tyler_w at apple.com
--- Comment #3 from Tyler Wilcock <tyler_w at apple.com> ---
Comment on attachment 467739
--> https://bugs.webkit.org/attachment.cgi?id=467739
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=467739&action=review
> Source/WebCore/accessibility/AccessibilityObject.h:155
> + String scope() const override { return getAttribute(HTMLNames::scopeAttr); }
Can this be final instead of override?
> Source/WebCore/accessibility/AccessibilityObjectInterface.h:1789
> + if (parent->roleValue() == AccessibilityRole::RowGroup)
This is a behavior change relative to what this function used to do (compare thead, tbody, or tfoot ancestors). Maybe we need a new AXID property and virtual function called row-group container which we cache for table-cells only and compare here?
> Source/WebCore/accessibility/AccessibilityTableRow.h:44
> + AXCoreObject* headerObject() override;
Can this be final?
> Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:1849
> + AccessibilityChildrenVector columnsCopy = columns();
Can this be auto?
> Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:1875
> + const String& headerScope = tableCell->scope();
> +
> + if (headerScope == "colgroup"_s && isTableCellInSameColGroup(tableCell))
Do we need the headerScope temporary, or can we do this:
if (tableCell->scope() == "colgroup"_s ...)
> Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:1899
> + AccessibilityChildrenVector rowsCopy = rows();
Can this be auto?
> Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:1905
> + AXCoreObject* parent = exposedTableAncestor();
Can this be auto*?
> Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:1916
> + const String& headerScope = scope();
Do we need this headerScope temporary?
> Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h:167
> + bool isColumnHeaderCell() const override { return boolAttributeValue(AXPropertyName::IsColumnHeaderCell); }
> + bool isRowHeaderCell() const override { return boolAttributeValue(AXPropertyName::IsRowHeaderCell); }
> + String scope() const override { return stringAttributeValue(AXPropertyName::Scope); }
Can these be final?
> Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h:177
> + AXCoreObject* headerObject() override { return objectAttributeValue(AXPropertyName::HeaderObject); };
Can this be final?
> LayoutTests/accessibility/column-header-scope.html:21
> + <table id="table1">
> + <tr>
> + <th scope="col" id="title-cell">Title</th>
> + <th>Col 1</th>
> + <th>Col 2</th>
> + <th>Col 3</th>
> + </tr>
> + <tr>
> + <td>Data abc</td>
> + <td>Data def</td>
> + <td>Data ghi</td>
> + <td>Data jkl</td>
> + </tr>
> + </table>
Seems like a lot of lines in this test have 8 space indents — I think we've been trying to stick with 4. Also, I think we typically don't indent after the <body>. So like this:
<body>
<table>
....
</table>
<script>
...
</script>
> LayoutTests/accessibility/column-header-scope.html:33
> + var thirdRow = "<tr><td id='cell2'>Data abc</td><td>Data def</td><td>Data ghi</td><td>Data jkl</td></tr>";
Is this used?
> LayoutTests/accessibility/column-header-scope.html:36
> + testOutput += "The table cell at (0, 1) should have exactly 1 column header, currently it has " + colHeaders1.length + " column header(s).\n";
> + testOutput += "The table cell at (2, 0) should have exactly 0 row headers, currently it has " + rowHeaders1.length + " row header(s).\n";
Format strings might make this a bit nicer. e.g.
testOutput += `The table cell at (0, 1) should have exactly 1 column header, currently it has ${colHeaders1.length} column header(s).\n`;
Same for other situations through this file.
> LayoutTests/accessibility/column-header-scope.html:41
> +
Extra newline here I think.
> LayoutTests/accessibility/table-headers-changing.html:44
> + var head_row = document.getElementById("row-in-head");
I think our style has been to use for camelCase over snake_case.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20230919/6ba5cb4b/attachment.htm>
More information about the webkit-unassigned
mailing list