36 lines
1.5 KiB
HTML
36 lines
1.5 KiB
HTML
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||
|
<html>
|
||
|
<head>
|
||
|
<script src="../../resources/js-test.js"></script>
|
||
|
</head>
|
||
|
<body>
|
||
|
|
||
|
<textarea id="textarea">abcdefghijklmnopqrstuvwxyz0123456789 abcdefghijklmnopqrstuvwxyz0123456789 abcdefghijklmnopqrstuvwxyz0123456789-abcdefghijklmnopqrstuvwxyz0123456789-abcdefghijklmnopqrstuvwxyz0123456789</textarea>
|
||
|
<br>
|
||
|
<div contenteditable="true" id="contenteditable">abcdefghijklmnopqrstuvwxyz0123456789 abcdefghijklmnopqrstuvwxyz0123456789 abcdefghijklmnopqrstuvwxyz0123456789-abcdefghijklmnopqrstuvwxyz0123456789-abcdefghijklmnopqrstuvwxyz0123456789</div>
|
||
|
<br>
|
||
|
|
||
|
<script>
|
||
|
description("Test for lineIndexForTextMarker in editable text elements. The text contains soft and hard linebreaks.");
|
||
|
|
||
|
function logLineIndexesForElement(elementID) {
|
||
|
debug(`${elementID}:`);
|
||
|
var p = accessibilityController.accessibleElementById(elementID).children[0];
|
||
|
var range = p.textMarkerRangeForElement(p);
|
||
|
var length = p.textMarkerRangeLength(range);
|
||
|
var current = p.startTextMarkerForTextMarkerRange(range);
|
||
|
for (let i = 0; i < length; ++i) {
|
||
|
let character = p.stringForTextMarkerRange(p.textMarkerRangeForMarkers(current, p.nextTextMarker(current)));
|
||
|
debug(`${i} ${character} ${p.lineIndexForTextMarker(current)}`);
|
||
|
current = p.nextTextMarker(current);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (window.accessibilityController) {
|
||
|
logLineIndexesForElement("textarea");
|
||
|
logLineIndexesForElement("contenteditable");
|
||
|
}
|
||
|
</script>
|
||
|
</body>
|
||
|
</html>
|