Closed Bug 1821223 Opened 2 years ago Closed 2 years ago

[CTW] Poor performance querying paragraph boundaries in large tables

Categories

(Core :: Disability Access APIs, defect)

defect

Tracking

()

RESOLVED FIXED
112 Branch
Tracking Status
firefox112 --- fixed

People

(Reporter: Jamie, Assigned: Jamie)

References

(Blocks 2 open bugs)

Details

(Whiteboard: [ctw-m6])

Attachments

(1 file)

STR (with the NVDA screen reader):

  1. Ensure NVDA mouse tracking is enabled and that the mouse tracking text unit resolution is set to paragraph. These are default NVDA settings.
  2. Open this test case:
    data:text/html,<table id="table" role="table"><tbody id="tbody"></tbody></table><script> html = ""; for (let i = 0; i < 3000; ++i) { html += "<tr><td>blah</td><td>blah</td></tr>"; } tbody.innerHTML = html; </script>
  3. Move the mouse around the table.
    • Expected: No hangs.
    • Actual: 5+ second hangs.

This occurs because we don't treat table rows or cells as paragraph boundaries, so we end up walking the whole table with Pivot. That is made worse by bug 1768396. Nevertheless, we should be treating rows at least as paragraph boundaries, probably cells too.

Table rows and cells are now treated as paragraph boundaries.
Whether a cell should be a paragraph boundary is debatable, but currently, a cell is treated as a line boundary, so this is consistent; a line shouldn't expand beyond a paragraph.

Pushed by jteh@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/fa9e3a8b41a0 TextLeafPoint: Don't treat an entire table as a paragraph. r=eeejay
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 112 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: