| <!DOCTYPE html> |
| <script src="../resources/testharness.js"></script> |
| <script src="../resources/testharnessreport.js"></script> |
| |
| <style> |
| img { |
| width: 200px; |
| height: 150px; |
| } |
| </style> |
| |
| <div role="region" id="region"><img src="resources/cake.png" id="image1" alt="One"><img src="resources/cake.png" id="image2" alt="Two"><img src="resources/cake.png" id="image3" alt="Three"></div> |
| |
| <script> |
| function verifySelection(anchorNode, anchorOffset, focusNode, focusOffset, selectionString) { |
| const selection = getSelection(); |
| assert_equals(selection.anchorNode, anchorNode, 'anchorNode'); |
| assert_equals(selection.anchorOffset, anchorOffset, 'anchorOffset'); |
| assert_equals(selection.focusNode, focusNode, 'focusNode'); |
| assert_equals(selection.focusOffset, focusOffset, 'focusOffset'); |
| assert_equals(selection.toString(), selectionString, 'getSelection.toString()'); |
| } |
| |
| setup(() => { |
| window.axRoot = accessibilityController.rootElement; |
| window.axRegion = accessibilityController.accessibleElementById('region'); |
| window.axImage1 = accessibilityController.accessibleElementById('image1'); |
| window.axImage2 = accessibilityController.accessibleElementById('image2'); |
| window.axImage3 = accessibilityController.accessibleElementById('image3'); |
| window.region = document.querySelector('div'); |
| window.image1 = document.querySelectorAll('img')[0]; |
| window.image2 = document.querySelectorAll('img')[1]; |
| window.image3 = document.querySelectorAll('img')[2]; |
| }); |
| |
| test(() => { |
| axRoot.setSelection(axImage1, 0, axImage1, 0); |
| verifySelection(image1, 0, image1, 0, ''); |
| }, 'Test creating a collapsed selection before the first image.'); |
| |
| test(() => { |
| axRoot.setSelection(axImage1, 0, axImage2, 0); |
| verifySelection(image1, 0, image2, 0, ''); |
| }, 'Test creating a selection around the first image.'); |
| |
| test(() => { |
| axRoot.setSelection(axImage1, 0, axImage3, 0); |
| verifySelection(image1, 0, image3, 0, ''); |
| }, 'Test creating a selection around the first two images.'); |
| |
| test(() => { |
| axRoot.setSelection(axImage1, 0, axRegion, 3); |
| verifySelection(image1, 0, region, 3, ''); |
| }, 'Test creating a selection around all the images.'); |
| |
| test(() => { |
| axRoot.setSelection(axRegion, 0, axRegion, 0); |
| verifySelection(region, 0, region, 0, ''); |
| }, 'Test creating a collapsed selection before the first image from the parent.'); |
| |
| test(() => { |
| axRoot.setSelection(axRegion, 0, axRegion, 2); |
| verifySelection(region, 0, region, 2, ''); |
| }, 'Test creating a selection around the first two images from the parent.'); |
| |
| test(() => { |
| axRoot.setSelection(axRegion, 0, axRegion, 3); |
| verifySelection(region, 0, region, 3, ''); |
| }, 'Test creating a selection around all the images from the parent.'); |
| |
| test(() => { |
| axRoot.setSelection(axImage2, 0, axImage2, 0); |
| verifySelection(image2, 0, image2, 0, ''); |
| }, 'Test creating a collapsed selection before the second image.'); |
| |
| test(() => { |
| axRoot.setSelection(axRegion, 1, axRegion, 1); |
| verifySelection(region, 1, region, 1, ''); |
| }, 'Test creating a collapsed selection before the second image from the parent.'); |
| |
| test(() => { |
| axRoot.setSelection(axImage3, 0, axImage3, 0); |
| verifySelection(image3, 0, image3, 0, ''); |
| }, 'Test creating a collapsed selection before the third image.'); |
| |
| test(() => { |
| axRoot.setSelection(axRegion, 2, axRegion, 2); |
| verifySelection(region, 2, region, 2, ''); |
| }, 'Test creating a collapsed selection before the third image from the parent.'); |
| |
| test(() => { |
| axRoot.setSelection(axImage1, 0, axRegion, 3); |
| verifySelection(image1, 0, region, 3, ''); |
| }, 'Test creating a selection around the last two images.'); |
| |
| test(() => { |
| axRoot.setSelection(axRegion, 1, axRegion, 3); |
| verifySelection(region, 1, region, 3, ''); |
| }, 'Test creating a selection around the last two images from the parent.'); |
| |
| test(() => { |
| axRoot.setSelection(axRegion, 3, axRegion, 3); |
| verifySelection(region, 3, region, 3, ''); |
| }, 'Test creating a collapsed selection after the last image from the parent.'); |
| </script> |