Commit 23d80195 authored by Dominic Mazzoni's avatar Dominic Mazzoni Committed by Commit Bot

More accessibility blink_unittests include the HTML element in the tree

This is one more step towards enabling the flag
AccessibilityExposeHTMLElementEnabled to include the HTML element in the
accessibility tree.

Bug: 1063155
Change-Id: I19a1e7e8daba1f2186db3428cfab5c0cc9ee41a1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2427878
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: default avatarNektarios Paisios <nektar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#811867}
parent 60c2cc21
......@@ -83,10 +83,11 @@ TEST_F(AccessibilitySelectionTest, FromCurrentSelection) {
EXPECT_EQ(
"++<GenericContainer>\n"
"++++<Paragraph>\n"
"++++++<StaticText: Hel^lo.>\n"
"++++<Paragraph>\n"
"++++++<StaticText: How are you?>\n|",
"++++<GenericContainer>\n"
"++++++<Paragraph>\n"
"++++++++<StaticText: Hel^lo.>\n"
"++++++<Paragraph>\n"
"++++++++<StaticText: How are you?>\n|",
GetSelectionText(ax_selection));
}
......@@ -105,20 +106,24 @@ TEST_F(AccessibilitySelectionTest, FromCurrentSelectionSelectAll) {
ASSERT_TRUE(ax_selection.IsValid());
ASSERT_FALSE(ax_selection.Base().IsTextPosition());
EXPECT_EQ(GetAXRootObject(), ax_selection.Base().ContainerObject());
AXObject* html_object = GetAXRootObject()->ChildAtIncludingIgnored(0);
ASSERT_NE(nullptr, html_object);
EXPECT_EQ(html_object, ax_selection.Base().ContainerObject());
EXPECT_EQ(0, ax_selection.Base().ChildIndex());
ASSERT_FALSE(ax_selection.Extent().IsTextPosition());
EXPECT_EQ(GetAXRootObject(), ax_selection.Extent().ContainerObject());
EXPECT_EQ(GetAXRootObject()->ChildCountIncludingIgnored(),
EXPECT_EQ(html_object, ax_selection.Extent().ContainerObject());
EXPECT_EQ(html_object->ChildCountIncludingIgnored(),
ax_selection.Extent().ChildIndex());
EXPECT_EQ(
"^++<GenericContainer>\n"
"++++<Paragraph>\n"
"++++++<StaticText: Hello.>\n"
"++++<Paragraph>\n"
"++++++<StaticText: How are you?>\n|",
"++<GenericContainer>\n"
"^++++<GenericContainer>\n"
"++++++<Paragraph>\n"
"++++++++<StaticText: Hello.>\n"
"++++++<Paragraph>\n"
"++++++++<StaticText: How are you?>\n|",
GetSelectionText(ax_selection));
}
......@@ -200,10 +205,11 @@ TEST_F(AccessibilitySelectionTest, CancelSelect) {
EXPECT_FALSE(Selection().GetSelectionInDOMTree().IsNone());
EXPECT_EQ(
"++<GenericContainer>\n"
"++++<Paragraph>\n"
"++++++<StaticText: Hel^lo.>\n"
"++++<Paragraph>\n"
"++++++<StaticText: How are you?>\n|",
"++++<GenericContainer>\n"
"++++++<Paragraph>\n"
"++++++++<StaticText: Hel^lo.>\n"
"++++++<Paragraph>\n"
"++++++++<StaticText: How are you?>\n|",
GetSelectionText(AXSelection::FromCurrentSelection(GetDocument())));
}
......@@ -260,8 +266,9 @@ TEST_F(AccessibilitySelectionTest, SetSelectionInText) {
EXPECT_EQ(5, dom_selection.Extent().OffsetInContainerNode());
EXPECT_EQ(
"++<GenericContainer>\n"
"++++<Paragraph>\n"
"++++++<StaticText: Hel^lo|>\n",
"++++<GenericContainer>\n"
"++++++<Paragraph>\n"
"++++++++<StaticText: Hel^lo|>\n",
GetSelectionText(ax_selection));
}
......@@ -291,8 +298,9 @@ TEST_F(AccessibilitySelectionTest, SetSelectionInTextWithWhiteSpace) {
EXPECT_EQ(10, dom_selection.Extent().OffsetInContainerNode());
EXPECT_EQ(
"++<GenericContainer>\n"
"++++<Paragraph>\n"
"++++++<StaticText: Hel^lo|>\n",
"++++<GenericContainer>\n"
"++++++<Paragraph>\n"
"++++++++<StaticText: Hel^lo|>\n",
GetSelectionText(ax_selection));
}
......@@ -335,10 +343,11 @@ TEST_F(AccessibilitySelectionTest, SetSelectionAcrossLineBreak) {
// selection focus marker '|' should be after it.
EXPECT_EQ(
"++<GenericContainer>\n"
"++++<Paragraph>\n"
"++++++<StaticText: Hello>\n"
"^++++++<LineBreak: \n>\n"
"|++++++<StaticText: |How are you.>\n",
"++++<GenericContainer>\n"
"++++++<Paragraph>\n"
"++++++++<StaticText: Hello>\n"
"^++++++++<LineBreak: \n>\n"
"|++++++++<StaticText: |How are you.>\n",
GetSelectionText(ax_selection));
}
......@@ -383,10 +392,11 @@ TEST_F(AccessibilitySelectionTest, SetSelectionAcrossLineBreakInEditableText) {
// selection focus marker '|' should be after it.
EXPECT_EQ(
"++<GenericContainer>\n"
"++++<Paragraph>\n"
"++++++<StaticText: Hello>\n"
"^++++++<LineBreak: \n>\n"
"|++++++<StaticText: |How are you.>\n",
"++++<GenericContainer>\n"
"++++++<Paragraph>\n"
"++++++++<StaticText: Hello>\n"
"^++++++++<LineBreak: \n>\n"
"|++++++++<StaticText: |How are you.>\n",
GetSelectionText(ax_selection));
}
......@@ -476,15 +486,16 @@ TEST_F(AccessibilitySelectionTest, SetSelectionInDisplayNone) {
// to DOM selections.
const std::string selection_text(
"++<GenericContainer>\n"
"++++<Main>\n"
"++++++<Paragraph>\n"
"++++++++<StaticText: Before display:none.>\n"
"++++++<Paragraph>\n"
"^++++++<Paragraph>\n"
"++++++++<StaticText: In between two display:none elements.>\n"
"++++++<Paragraph>\n"
"|++++++<Paragraph>\n"
"++++++++<StaticText: After display:none.>\n");
"++++<GenericContainer>\n"
"++++++<Main>\n"
"++++++++<Paragraph>\n"
"++++++++++<StaticText: Before display:none.>\n"
"++++++++<Paragraph>\n"
"^++++++++<Paragraph>\n"
"++++++++++<StaticText: In between two display:none elements.>\n"
"++++++++<Paragraph>\n"
"|++++++++<Paragraph>\n"
"++++++++++<StaticText: After display:none.>\n");
EXPECT_EQ(selection_text, GetSelectionText(ax_selection_shrink));
EXPECT_EQ(selection_text, GetSelectionText(ax_selection_extend));
}
......@@ -572,27 +583,29 @@ TEST_P(ParameterizedAccessibilitySelectionTest, SetSelectionAroundListBullet) {
if (LayoutNGEnabled()) {
expectations =
"++<GenericContainer>\n"
"++++<Main>\n"
"++++++<List>\n"
"++++++++<ListItem>\n"
"++++++++++<ListMarker: \xE2\x80\xA2 >\n"
"^++++++++++++<StaticText: ^\xE2\x80\xA2 >\n"
"++++++++++<StaticText: Item 1.>\n"
"++++++++<ListItem>\n"
"++++++++++<ListMarker: \xE2\x80\xA2 >\n"
"++++++++++++<StaticText: \xE2\x80\xA2 >\n"
"++++++++++<StaticText: Item 2.|>\n";
"++++<GenericContainer>\n"
"++++++<Main>\n"
"++++++++<List>\n"
"++++++++++<ListItem>\n"
"++++++++++++<ListMarker: \xE2\x80\xA2 >\n"
"^++++++++++++++<StaticText: ^\xE2\x80\xA2 >\n"
"++++++++++++<StaticText: Item 1.>\n"
"++++++++++<ListItem>\n"
"++++++++++++<ListMarker: \xE2\x80\xA2 >\n"
"++++++++++++++<StaticText: \xE2\x80\xA2 >\n"
"++++++++++++<StaticText: Item 2.|>\n";
} else {
expectations =
"++<GenericContainer>\n"
"++++<Main>\n"
"++++++<List>\n"
"++++++++<ListItem>\n"
"++++++++++<ListMarker: \xE2\x80\xA2 >\n"
"^++++++++++<StaticText: Item 1.>\n"
"++++++++<ListItem>\n"
"++++++++++<ListMarker: \xE2\x80\xA2 >\n"
"++++++++++<StaticText: Item 2.|>\n";
"++++<GenericContainer>\n"
"++++++<Main>\n"
"++++++++<List>\n"
"++++++++++<ListItem>\n"
"++++++++++++<ListMarker: \xE2\x80\xA2 >\n"
"^++++++++++++<StaticText: Item 1.>\n"
"++++++++++<ListItem>\n"
"++++++++++++<ListMarker: \xE2\x80\xA2 >\n"
"++++++++++++<StaticText: Item 2.|>\n";
}
// The |AXSelection| should remain unaffected by any shrinking and should
......
......@@ -8,6 +8,7 @@
#include <iterator>
#include "base/memory/scoped_refptr.h"
#include "third_party/blink/public/platform/file_path_conversion.h"
#include "third_party/blink/renderer/core/dom/character_data.h"
#include "third_party/blink/renderer/core/dom/container_node.h"
#include "third_party/blink/renderer/core/dom/node.h"
......@@ -346,7 +347,7 @@ AccessibilitySelectionTest::AccessibilitySelectionTest(
void AccessibilitySelectionTest::SetUp() {
AccessibilityTest::SetUp();
RuntimeEnabledFeatures::SetAccessibilityExposeHTMLElementEnabled(false);
RuntimeEnabledFeatures::SetAccessibilityExposeHTMLElementEnabled(true);
}
std::string AccessibilitySelectionTest::GetCurrentSelectionText() const {
......@@ -442,6 +443,11 @@ void AccessibilitySelectionTest::RunSelectionTest(
}
EXPECT_EQ(ax_file_contents, actual_ax_file_contents);
// Uncomment these lines to write the output to the expectations file.
// TODO(dmazzoni): make this a command-line parameter.
// if (ax_file_contents != actual_ax_file_contents)
// base::WriteFile(WebStringToFilePath(ax_file), actual_ax_file_contents);
}
ParameterizedAccessibilitySelectionTest::
......
......@@ -3,14 +3,15 @@
AXSelection from AX object anchored position in "Main": "", 1 to AX object anchored position in "Main": "", 4
================================================================================
++<GenericContainer>
++++<Main>
++++++<Paragraph>
++++++++<StaticText: Before aria-hidden.>
^++++++<Paragraph>
++++++++<StaticText: Aria-hidden 1.>
++++++<Paragraph>
++++++++<StaticText: In the middle of aria-hidden.>
++++++<Paragraph>
++++++++<StaticText: Aria-hidden 2.>
|++++++<Paragraph>
++++++++<StaticText: After aria-hidden.>
++++<GenericContainer>
++++++<Main>
++++++++<Paragraph>
++++++++++<StaticText: Before aria-hidden.>
^++++++++<Paragraph>
++++++++++<StaticText: Aria-hidden 1.>
++++++++<Paragraph>
++++++++++<StaticText: In the middle of aria-hidden.>
++++++++<Paragraph>
++++++++++<StaticText: Aria-hidden 2.>
|++++++++<Paragraph>
++++++++++<StaticText: After aria-hidden.>
......@@ -3,47 +3,49 @@
AXSelection from AX object anchored position in "List": "", 1 to AX object anchored position in "List": "", 3
================================================================================
++<GenericContainer>
++++<List>
++++++<ListItem>
++++++++<ListMarker: 1. >
++++++++<StaticText: tic>
^++++++<ListItem>
++++++++<ListMarker: 2. >
++++++++<StaticText: tac>
++++++<ListItem>
++++++++<ListMarker: 3. >
++++++++<StaticText: toe>
|++++<List>
++++++<ListItem>
++++++++<StaticText: tic>
++++++<StaticText: >
++++++<ListItem>
++++++++<StaticText: tac>
++++++<StaticText: >
++++++<ListItem>
++++++++<StaticText: toe>
++++<GenericContainer>
++++++<List>
++++++++<ListItem>
++++++++++<ListMarker: 1. >
++++++++++<StaticText: tic>
^++++++++<ListItem>
++++++++++<ListMarker: 2. >
++++++++++<StaticText: tac>
++++++++<ListItem>
++++++++++<ListMarker: 3. >
++++++++++<StaticText: toe>
|++++++<List>
++++++++<ListItem>
++++++++++<StaticText: tic>
++++++++<StaticText: >
++++++++<ListItem>
++++++++++<StaticText: tac>
++++++++<StaticText: >
++++++++<ListItem>
++++++++++<StaticText: toe>
================================================================================
AXSelection from AX object anchored position in "GenericContainer": "", 1 to AX object anchored position in "GenericContainer": "", 2
================================================================================
++<GenericContainer>
++++<List>
++++++<ListItem>
++++++++<ListMarker: 1. >
++++++++<StaticText: tic>
++++++<ListItem>
++++++++<ListMarker: 2. >
++++++++<StaticText: tac>
++++++<ListItem>
++++++++<ListMarker: 3. >
++++++++<StaticText: toe>
^++++<List>
++++++<ListItem>
++++++++<StaticText: tic>
++++++<StaticText: >
++++++<ListItem>
++++++++<StaticText: tac>
++++++<StaticText: >
++++++<ListItem>
++++++++<StaticText: toe>
++++<GenericContainer>
++++++<List>
++++++++<ListItem>
++++++++++<ListMarker: 1. >
++++++++++<StaticText: tic>
++++++++<ListItem>
++++++++++<ListMarker: 2. >
++++++++++<StaticText: tac>
++++++++<ListItem>
++++++++++<ListMarker: 3. >
++++++++++<StaticText: toe>
^++++++<List>
++++++++<ListItem>
++++++++++<StaticText: tic>
++++++++<StaticText: >
++++++++<ListItem>
++++++++++<StaticText: tac>
++++++++<StaticText: >
++++++++<ListItem>
++++++++++<StaticText: toe>
|
\ No newline at end of file
......@@ -3,53 +3,55 @@
AXSelection from AX object anchored position in "List": "", 1 to AX object anchored position in "List": "", 3
================================================================================
++<GenericContainer>
++++<List>
++++++<ListItem>
++++++++<ListMarker: 1. >
++++++++++<StaticText: 1. >
++++++++<StaticText: tic>
^++++++<ListItem>
++++++++<ListMarker: 2. >
++++++++++<StaticText: 2. >
++++++++<StaticText: tac>
++++++<ListItem>
++++++++<ListMarker: 3. >
++++++++++<StaticText: 3. >
++++++++<StaticText: toe>
|++++<List>
++++++<ListItem>
++++++++<StaticText: tic>
++++++<StaticText: >
++++++<ListItem>
++++++++<StaticText: tac>
++++++<StaticText: >
++++++<ListItem>
++++++++<StaticText: toe>
++++<GenericContainer>
++++++<List>
++++++++<ListItem>
++++++++++<ListMarker: 1. >
++++++++++++<StaticText: 1. >
++++++++++<StaticText: tic>
^++++++++<ListItem>
++++++++++<ListMarker: 2. >
++++++++++++<StaticText: 2. >
++++++++++<StaticText: tac>
++++++++<ListItem>
++++++++++<ListMarker: 3. >
++++++++++++<StaticText: 3. >
++++++++++<StaticText: toe>
|++++++<List>
++++++++<ListItem>
++++++++++<StaticText: tic>
++++++++<StaticText: >
++++++++<ListItem>
++++++++++<StaticText: tac>
++++++++<StaticText: >
++++++++<ListItem>
++++++++++<StaticText: toe>
================================================================================
AXSelection from AX object anchored position in "GenericContainer": "", 1 to AX object anchored position in "GenericContainer": "", 2
================================================================================
++<GenericContainer>
++++<List>
++++++<ListItem>
++++++++<ListMarker: 1. >
++++++++++<StaticText: 1. >
++++++++<StaticText: tic>
++++++<ListItem>
++++++++<ListMarker: 2. >
++++++++++<StaticText: 2. >
++++++++<StaticText: tac>
++++++<ListItem>
++++++++<ListMarker: 3. >
++++++++++<StaticText: 3. >
++++++++<StaticText: toe>
^++++<List>
++++++<ListItem>
++++++++<StaticText: tic>
++++++<StaticText: >
++++++<ListItem>
++++++++<StaticText: tac>
++++++<StaticText: >
++++++<ListItem>
++++++++<StaticText: toe>
++++<GenericContainer>
++++++<List>
++++++++<ListItem>
++++++++++<ListMarker: 1. >
++++++++++++<StaticText: 1. >
++++++++++<StaticText: tic>
++++++++<ListItem>
++++++++++<ListMarker: 2. >
++++++++++++<StaticText: 2. >
++++++++++<StaticText: tac>
++++++++<ListItem>
++++++++++<ListMarker: 3. >
++++++++++++<StaticText: 3. >
++++++++++<StaticText: toe>
^++++++<List>
++++++++<ListItem>
++++++++++<StaticText: tic>
++++++++<StaticText: >
++++++++<ListItem>
++++++++++<StaticText: tac>
++++++++<StaticText: >
++++++++<ListItem>
++++++++++<StaticText: toe>
|
\ No newline at end of file
......@@ -3,10 +3,11 @@
AXSelection from AX text position in "StaticText": "Some text.", 0 to AX object anchored position in "Main": "", 2
================================================================================
++<GenericContainer>
++++<Main>
++++++<Presentational>
^++++++++<StaticText: ^Some text.>
++++++<GenericContainer>
|++++++<Paragraph>
++++++<Paragraph>
++++++++<StaticText: After presentational paragraph.>
++++<GenericContainer>
++++++<Main>
++++++++<Presentational>
^++++++++++<StaticText: ^Some text.>
++++++++<GenericContainer>
|++++++++<Paragraph>
++++++++<Paragraph>
++++++++++<StaticText: After presentational paragraph.>
......@@ -4,27 +4,30 @@ AXSelection from AX text position in "StaticText": "Some text. ", 0 to AX text p
================================================================================
++<GenericContainer>
++++<GenericContainer>
++++++<Paragraph>
^++++++++<StaticText: ^Some text. >
++++++++<Image: Square>
|++++++++<StaticText: | More text.>
++++++<GenericContainer>
++++++++<Paragraph>
^++++++++++<StaticText: ^Some text. >
++++++++++<Image: Square>
|++++++++++<StaticText: | More text.>
================================================================================
AXSelection from AX text position in "StaticText": "Some text. ", 10 to AX text position in "StaticText": " More text.", 1
================================================================================
++<GenericContainer>
++++<GenericContainer>
++++++<Paragraph>
++++++++<StaticText: Some text.^ >
++++++++<Image: Square>
++++++++<StaticText: |More text.>
++++++<GenericContainer>
++++++++<Paragraph>
++++++++++<StaticText: Some text.^ >
++++++++++<Image: Square>
++++++++++<StaticText: |More text.>
================================================================================
AXSelection from AX text position in "StaticText": "Some text. ", 11 to AX text position in "StaticText": " More text.", 11
================================================================================
++<GenericContainer>
++++<GenericContainer>
++++++<Paragraph>
++++++++<StaticText: Some text. ^>
++++++++<Image: Square>
++++++++<StaticText: More text.|>
++++++<GenericContainer>
++++++++<Paragraph>
++++++++++<StaticText: Some text. ^>
++++++++++<Image: Square>
++++++++++<StaticText: More text.|>
......@@ -3,102 +3,106 @@
AXSelection from AX text position in "StaticText": "Sum", 0 to AX text position in "StaticText": "Subtraction", 11
================================================================================
++<GenericContainer>
++++<Table>
++++++<Row>
++++++++<ColumnHeader: Sum>
^++++++++++<StaticText: ^Sum>
++++++++<ColumnHeader: Subtraction>
++++++++++<StaticText: Subtraction|>
++++++<Row>
++++++++<Cell: 10>
++++++++++<StaticText: 10>
++++++++<Cell: 7>
++++++++++<StaticText: 7>
++++++<Row>
++++++++<Cell: 2>
++++++++++<StaticText: 2>
++++++++<Cell: 4>
++++++++++<StaticText: 4>
++++++<Row>
++++++++<Cell: 12>
++++++++++<StaticText: 12>
++++++++<Cell: 3>
++++++++++<StaticText: 3>
++++<GenericContainer>
++++++<Table>
++++++++<Row>
++++++++++<ColumnHeader: Sum>
^++++++++++++<StaticText: ^Sum>
++++++++++<ColumnHeader: Subtraction>
++++++++++++<StaticText: Subtraction|>
++++++++<Row>
++++++++++<Cell: 10>
++++++++++++<StaticText: 10>
++++++++++<Cell: 7>
++++++++++++<StaticText: 7>
++++++++<Row>
++++++++++<Cell: 2>
++++++++++++<StaticText: 2>
++++++++++<Cell: 4>
++++++++++++<StaticText: 4>
++++++++<Row>
++++++++++<Cell: 12>
++++++++++++<StaticText: 12>
++++++++++<Cell: 3>
++++++++++++<StaticText: 3>
================================================================================
AXSelection from AX text position in "StaticText": "7", 1 to AX text position in "StaticText": "10", 0
================================================================================
++<GenericContainer>
++++<Table>
++++++<Row>
++++++++<ColumnHeader: Sum>
++++++++++<StaticText: Sum>
++++++++<ColumnHeader: Subtraction>
++++++++++<StaticText: Subtraction>
++++++<Row>
++++++++<Cell: 10>
|++++++++++<StaticText: |10>
++++++++<Cell: 7>
++++++++++<StaticText: 7^>
++++++<Row>
++++++++<Cell: 2>
++++++++++<StaticText: 2>
++++++++<Cell: 4>
++++++++++<StaticText: 4>
++++++<Row>
++++++++<Cell: 12>
++++++++++<StaticText: 12>
++++++++<Cell: 3>
++++++++++<StaticText: 3>
++++<GenericContainer>
++++++<Table>
++++++++<Row>
++++++++++<ColumnHeader: Sum>
++++++++++++<StaticText: Sum>
++++++++++<ColumnHeader: Subtraction>
++++++++++++<StaticText: Subtraction>
++++++++<Row>
++++++++++<Cell: 10>
|++++++++++++<StaticText: |10>
++++++++++<Cell: 7>
++++++++++++<StaticText: 7^>
++++++++<Row>
++++++++++<Cell: 2>
++++++++++++<StaticText: 2>
++++++++++<Cell: 4>
++++++++++++<StaticText: 4>
++++++++<Row>
++++++++++<Cell: 12>
++++++++++++<StaticText: 12>
++++++++++<Cell: 3>
++++++++++++<StaticText: 3>
================================================================================
AXSelection from AX text position in "StaticText": "2", 1 to AX text position in "StaticText": "4", 0
================================================================================
++<GenericContainer>
++++<Table>
++++++<Row>
++++++++<ColumnHeader: Sum>
++++++++++<StaticText: Sum>
++++++++<ColumnHeader: Subtraction>
++++++++++<StaticText: Subtraction>
++++++<Row>
++++++++<Cell: 10>
++++++++++<StaticText: 10>
++++++++<Cell: 7>
++++++++++<StaticText: 7>
++++++<Row>
++++++++<Cell: 2>
++++++++++<StaticText: 2^>
++++++++<Cell: 4>
|++++++++++<StaticText: |4>
++++++<Row>
++++++++<Cell: 12>
++++++++++<StaticText: 12>
++++++++<Cell: 3>
++++++++++<StaticText: 3>
++++<GenericContainer>
++++++<Table>
++++++++<Row>
++++++++++<ColumnHeader: Sum>
++++++++++++<StaticText: Sum>
++++++++++<ColumnHeader: Subtraction>
++++++++++++<StaticText: Subtraction>
++++++++<Row>
++++++++++<Cell: 10>
++++++++++++<StaticText: 10>
++++++++++<Cell: 7>
++++++++++++<StaticText: 7>
++++++++<Row>
++++++++++<Cell: 2>
++++++++++++<StaticText: 2^>
++++++++++<Cell: 4>
|++++++++++++<StaticText: |4>
++++++++<Row>
++++++++++<Cell: 12>
++++++++++++<StaticText: 12>
++++++++++<Cell: 3>
++++++++++++<StaticText: 3>
================================================================================
AXSelection from AX text position in "StaticText": "12", 0 to AX text position in "StaticText": "3", 1
================================================================================
++<GenericContainer>
++++<Table>
++++++<Row>
++++++++<ColumnHeader: Sum>
++++++++++<StaticText: Sum>
++++++++<ColumnHeader: Subtraction>
++++++++++<StaticText: Subtraction>
++++++<Row>
++++++++<Cell: 10>
++++++++++<StaticText: 10>
++++++++<Cell: 7>
++++++++++<StaticText: 7>
++++++<Row>
++++++++<Cell: 2>
++++++++++<StaticText: 2>
++++++++<Cell: 4>
++++++++++<StaticText: 4>
++++++<Row>
++++++++<Cell: 12>
^++++++++++<StaticText: ^12>
++++++++<Cell: 3>
++++++++++<StaticText: 3|>
++++<GenericContainer>
++++++<Table>
++++++++<Row>
++++++++++<ColumnHeader: Sum>
++++++++++++<StaticText: Sum>
++++++++++<ColumnHeader: Subtraction>
++++++++++++<StaticText: Subtraction>
++++++++<Row>
++++++++++<Cell: 10>
++++++++++++<StaticText: 10>
++++++++++<Cell: 7>
++++++++++++<StaticText: 7>
++++++++<Row>
++++++++++<Cell: 2>
++++++++++++<StaticText: 2>
++++++++++<Cell: 4>
++++++++++++<StaticText: 4>
++++++++<Row>
++++++++++<Cell: 12>
^++++++++++++<StaticText: ^12>
++++++++++<Cell: 3>
++++++++++++<StaticText: 3|>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment