Status: FAIL | Duration: 50ms | Subtests: 0/4 | Open test on wpt.live | wpt.fyi
Data from commit:
96ff533 Remove hidden nodes from the acccessibility tree (#823) (2026-09-07)
| Subtest | Status | Message |
|---|---|---|
| horizontal-tb | FAIL | not a callable function |
| vertical-lr | FAIL | not a callable function |
| vertical-rl | FAIL | not a callable function |
| sideways-rl | FAIL | not a callable function |
/svg/text/scripted/getcharnumatposition.html
<!DOCTYPE html> <meta charset="utf-8"> <title>SVGTextContentElement.getCharNumAtPosition</title> <link rel="help" href="https://w3c.github.io/svgwg/svg2-draft/text.html#__svg__SVGTextContentElement__getCharNumAtPosition"> <link rel="stylesheet" href="/fonts/ahem.css"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <svg width="800" height="600"> <style> text { font: 20px/1 Ahem; } </style> <text><tspan id="htb" x="40" y="100">abc</tspan></text> <text style="writing-mode:vertical-lr"><tspan id="vlr" x="40" y="120">abc</tspan></text> <text style="writing-mode:vertical-rl"><tspan id="vrl" x="80" y="120">abc</tspan></text> <text style="writing-mode:sideways-rl"><tspan id="srl" x="80" y="200">abc</tspan></text> </svg> <script> function newPoint(x, y) { const p = document.querySelector('svg').createSVGPoint(); p.x = x; p.y = y; return p; } setup({ explicit_done: true }); document.fonts.ready.then(() => { test(() => { const element = document.querySelector('#htb'); assert_equals(element.getNumberOfChars(), 3); const start = 40; assert_equals(element.getCharNumAtPosition(newPoint(start - 10, 100)), -1); assert_equals(element.getCharNumAtPosition(newPoint(start + 10, 100)), 0); assert_equals(element.getCharNumAtPosition(newPoint(start + 30, 100)), 1); assert_equals(element.getCharNumAtPosition(newPoint(start + 50, 100)), 2); assert_equals(element.getCharNumAtPosition(newPoint(start + 70, 100)), -1); }, 'horizontal-tb'); test(() => { const element = document.querySelector('#vlr'); assert_equals(element.getNumberOfChars(), 3); const start = 120; assert_equals(element.getCharNumAtPosition(newPoint(40, start - 10)), -1); assert_equals(element.getCharNumAtPosition(newPoint(40, start + 10)), 0); assert_equals(element.getCharNumAtPosition(newPoint(40, start + 30)), 1); assert_equals(element.getCharNumAtPosition(newPoint(40, start + 50)), 2); assert_equals(element.getCharNumAtPosition(newPoint(40, start + 70)), -1); }, 'vertical-lr'); test(() => { const element = document.querySelector('#vrl'); assert_equals(element.getNumberOfChars(), 3); const start = 120; assert_equals(element.getCharNumAtPosition(newPoint(80, start - 10)), -1); assert_equals(element.getCharNumAtPosition(newPoint(80, start + 10)), 0); assert_equals(element.getCharNumAtPosition(newPoint(80, start + 30)), 1); assert_equals(element.getCharNumAtPosition(newPoint(80, start + 50)), 2); assert_equals(element.getCharNumAtPosition(newPoint(80, start + 70)), -1); }, 'vertical-rl'); test(() => { const element = document.querySelector('#srl'); assert_equals(element.getNumberOfChars(), 3); const start = 200; assert_equals(element.getCharNumAtPosition(newPoint(80, start - 10)), -1); assert_equals(element.getCharNumAtPosition(newPoint(80, start + 10)), 0); assert_equals(element.getCharNumAtPosition(newPoint(80, start + 30)), 1); assert_equals(element.getCharNumAtPosition(newPoint(80, start + 50)), 2); assert_equals(element.getCharNumAtPosition(newPoint(80, start + 70)), -1); }, 'sideways-rl'); done(); }); </script>