AX: Expose DOM ID and ClassList to AX APIs for automation and AT element hashes
authorcfleizach@apple.com <cfleizach@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 10 Sep 2013 18:33:03 +0000 (18:33 +0000)
committercfleizach@apple.com <cfleizach@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 10 Sep 2013 18:33:03 +0000 (18:33 +0000)
https://bugs.webkit.org/show_bug.cgi?id=120552

Reviewed by Darin Adler.

Source/WebCore:

Add Mac support for exposing the DOM ID and DOM class list so that accessibility
clients can leverage that information.

Test: platform/mac/accessibility/id-class-attributes.html

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::domIdentifier):
(WebCore::AccessibilityObject::domClassList):
* accessibility/AccessibilityObject.h:
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
(convertStringsToNSArray):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

Tools:

* DumpRenderTree/AccessibilityUIElement.cpp:
(getClassListCallback):
(AccessibilityUIElement::getJSClass):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::classList):
* DumpRenderTree/blackberry/AccessibilityUIElementBlackBerry.cpp:
(AccessibilityUIElement::classList):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::classList):
* DumpRenderTree/win/AccessibilityUIElementWin.cpp:
(AccessibilityUIElement::classList):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::classList):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::classList):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::classList):

LayoutTests:

Tests that output all attributes need to be updated, since the DOM ID and DOM
class list are new on all elements.

* accessibility/transformed-element-expected.txt:
* platform/mac/accessibility/aria-columnrowheaders-expected.txt:
* platform/mac/accessibility/bounds-for-range-expected.txt:
* platform/mac/accessibility/document-attributes-expected.txt:
* platform/mac/accessibility/document-links-expected.txt:
* platform/mac/accessibility/id-class-attributes-expected.txt: Added.
* platform/mac/accessibility/id-class-attributes.html: Added.
* platform/mac/accessibility/image-link-expected.txt:
* platform/mac/accessibility/image-map2-expected.txt:
* platform/mac/accessibility/internal-link-anchors-expected.txt:
* platform/mac/accessibility/internal-link-anchors2-expected.txt:
* platform/mac/accessibility/lists-expected.txt:
* platform/mac/accessibility/plugin-expected.txt:
* platform/mac/accessibility/radio-button-group-members-expected.txt:
* platform/mac/accessibility/table-attributes-expected.txt:
* platform/mac/accessibility/table-cell-spans-expected.txt:
* platform/mac/accessibility/table-cells-expected.txt:
* platform/mac/accessibility/table-detection-expected.txt:
* platform/mac/accessibility/table-one-cell-expected.txt:
* platform/mac/accessibility/table-sections-expected.txt:
* platform/mac/accessibility/table-with-aria-role-expected.txt:
* platform/mac/accessibility/table-with-rules-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@155458 268f45cc-cd09-0410-ab3c-d52691b4dbfc

39 files changed:
LayoutTests/ChangeLog
LayoutTests/accessibility/transformed-element-expected.txt
LayoutTests/platform/mac/accessibility/aria-columnrowheaders-expected.txt
LayoutTests/platform/mac/accessibility/bounds-for-range-expected.txt
LayoutTests/platform/mac/accessibility/document-attributes-expected.txt
LayoutTests/platform/mac/accessibility/document-links-expected.txt
LayoutTests/platform/mac/accessibility/id-class-attributes-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/accessibility/id-class-attributes.html [new file with mode: 0644]
LayoutTests/platform/mac/accessibility/image-link-expected.txt
LayoutTests/platform/mac/accessibility/image-map2-expected.txt
LayoutTests/platform/mac/accessibility/internal-link-anchors-expected.txt
LayoutTests/platform/mac/accessibility/internal-link-anchors2-expected.txt
LayoutTests/platform/mac/accessibility/lists-expected.txt
LayoutTests/platform/mac/accessibility/plugin-expected.txt
LayoutTests/platform/mac/accessibility/radio-button-group-members-expected.txt
LayoutTests/platform/mac/accessibility/table-attributes-expected.txt
LayoutTests/platform/mac/accessibility/table-cell-spans-expected.txt
LayoutTests/platform/mac/accessibility/table-cells-expected.txt
LayoutTests/platform/mac/accessibility/table-detection-expected.txt
LayoutTests/platform/mac/accessibility/table-one-cell-expected.txt
LayoutTests/platform/mac/accessibility/table-sections-expected.txt
LayoutTests/platform/mac/accessibility/table-with-aria-role-expected.txt
LayoutTests/platform/mac/accessibility/table-with-rules-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/accessibility/AccessibilityObject.cpp
Source/WebCore/accessibility/AccessibilityObject.h
Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm
Tools/ChangeLog
Tools/DumpRenderTree/AccessibilityUIElement.cpp
Tools/DumpRenderTree/AccessibilityUIElement.h
Tools/DumpRenderTree/atk/AccessibilityUIElementAtk.cpp
Tools/DumpRenderTree/blackberry/AccessibilityUIElementBlackBerry.cpp
Tools/DumpRenderTree/mac/AccessibilityUIElementMac.mm
Tools/DumpRenderTree/win/AccessibilityUIElementWin.cpp
Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp
Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h
Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl
Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp
Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm

index b31b787fa3bc621beb917be335dab4c487382616..b4d39a58e4da893ce13f710d80e529be0f36e0ed 100644 (file)
@@ -1,3 +1,36 @@
+2013-09-10  Chris Fleizach  <cfleizach@apple.com>
+
+        AX: Expose DOM ID and ClassList to AX APIs for automation and AT element hashes
+        https://bugs.webkit.org/show_bug.cgi?id=120552
+
+        Reviewed by Darin Adler.
+
+        Tests that output all attributes need to be updated, since the DOM ID and DOM
+        class list are new on all elements.
+
+        * accessibility/transformed-element-expected.txt:
+        * platform/mac/accessibility/aria-columnrowheaders-expected.txt:
+        * platform/mac/accessibility/bounds-for-range-expected.txt:
+        * platform/mac/accessibility/document-attributes-expected.txt:
+        * platform/mac/accessibility/document-links-expected.txt:
+        * platform/mac/accessibility/id-class-attributes-expected.txt: Added.
+        * platform/mac/accessibility/id-class-attributes.html: Added.
+        * platform/mac/accessibility/image-link-expected.txt:
+        * platform/mac/accessibility/image-map2-expected.txt:
+        * platform/mac/accessibility/internal-link-anchors-expected.txt:
+        * platform/mac/accessibility/internal-link-anchors2-expected.txt:
+        * platform/mac/accessibility/lists-expected.txt:
+        * platform/mac/accessibility/plugin-expected.txt:
+        * platform/mac/accessibility/radio-button-group-members-expected.txt:
+        * platform/mac/accessibility/table-attributes-expected.txt:
+        * platform/mac/accessibility/table-cell-spans-expected.txt:
+        * platform/mac/accessibility/table-cells-expected.txt:
+        * platform/mac/accessibility/table-detection-expected.txt:
+        * platform/mac/accessibility/table-one-cell-expected.txt:
+        * platform/mac/accessibility/table-sections-expected.txt:
+        * platform/mac/accessibility/table-with-aria-role-expected.txt:
+        * platform/mac/accessibility/table-with-rules-expected.txt:
+
 2013-09-10  Denis Nomiyama  <d.nomiyama@samsung.com>
 
         [GTK] accessibility/loading-iframe-sends-notification.html is failing
index 3f6395c480ab129ec398e543156a44b1c60d5608..c9b547e616dda87f58e067ed496cfd9f9b96c2d2 100644 (file)
@@ -21,5 +21,7 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: hiddenDiv
+AXDOMClassList: <array of size 0>
 AXARIABusy: 0
 
index 89ea823d04b273bc01b89f322041368c8c34c97b..c5281ffca6cb3f8f86bc038f50a19bb34c8b4e77 100644 (file)
@@ -28,6 +28,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: 
 AXLanguage: 
+AXDOMIdentifier: test
+AXDOMClassList: 
 AXRowIndexRange: NSRange: {0, 1}
 AXColumnIndexRange: NSRange: {0, 1}
 AXARIABusy: 0
@@ -56,6 +58,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: 
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: 
 AXRowIndexRange: NSRange: {0, 1}
 AXColumnIndexRange: NSRange: {1, 1}
 AXARIABusy: 0
@@ -84,6 +88,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: 
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: 
 AXRowIndexRange: NSRange: {0, 1}
 AXColumnIndexRange: NSRange: {2, 1}
 AXARIABusy: 0
@@ -115,6 +121,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: 
 AXLanguage: 
+AXDOMIdentifier: obj1
+AXDOMClassList: 
 AXRowIndexRange: NSRange: {1, 1}
 AXColumnIndexRange: NSRange: {0, 1}
 AXARIABusy: 0
@@ -143,6 +151,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: 
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: 
 AXRowIndexRange: NSRange: {2, 1}
 AXColumnIndexRange: NSRange: {0, 1}
 AXARIABusy: 0
index db314b05ba8ad39f1dbc05ec4515723cc96c9825..4d15ff82bae53fe37971217c79016b21eca6d295 100644 (file)
@@ -21,6 +21,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXStaticText>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXARIABusy: 0
 
 ----------------------
index 53c87f34b1c6f503b77303ce4a7dc78008fe9c94..b838b9a2655d77396b431123b143451e10f63440 100644 (file)
@@ -20,6 +20,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXWebArea>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXLinkUIElements: <array of size 0>
 AXLoaded: 1
 AXLayoutCount: 2
index 4b8a0c7bf3e6bda18ecf86e36751b8a00a51e1df..71d4af1d45795f830f196cb09383cb23feaaaf47 100644 (file)
@@ -22,6 +22,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXLink>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXURL: http://www.apple.com/
 AXAccessKey: (null)
 AXARIABusy: 0
@@ -50,6 +52,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXLink>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXURL: http://www.apple.com/
 AXAccessKey: (null)
 AXARIABusy: 0
@@ -78,6 +82,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXLink: 'link 3'>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXURL: http://webkit.org/
 AXAccessKey: (null)
 AXARIABusy: 0
@@ -105,6 +111,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXLink: 'link 4'>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXURL: LayoutTests/platform/mac/accessibility/document-links.html#asdf
 AXAccessKey: (null)
 AXARIABusy: 0
diff --git a/LayoutTests/platform/mac/accessibility/id-class-attributes-expected.txt b/LayoutTests/platform/mac/accessibility/id-class-attributes-expected.txt
new file mode 100644 (file)
index 0000000..78d2ec3
--- /dev/null
@@ -0,0 +1,14 @@
+content
+This tests that the DOM id and the DOM class list can be retrieved
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS item.isAttributeSupported('AXDOMIdentifier') is true
+PASS item.stringAttributeValue('AXDOMIdentifier') is 'item1'
+PASS item.isAttributeSupported('AXDOMClassList') is true
+PASS item.classList is 'test, test2'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/platform/mac/accessibility/id-class-attributes.html b/LayoutTests/platform/mac/accessibility/id-class-attributes.html
new file mode 100644 (file)
index 0000000..9fabfb0
--- /dev/null
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src="../../../resources/js-test-pre.js"></script>
+<style>
+.test { 
+  font-size: 100px;
+};
+
+.test2 {
+  font-weight: bold;
+};
+
+</style>
+</head>
+<body id="body">
+
+<div id="item1" class="test test2">content</div>
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+
+    description("This tests that the DOM id and the DOM class list can be retrieved");
+
+    if (window.accessibilityController) {
+
+          var item = accessibilityController.accessibleElementById("item1");
+          shouldBeTrue("item.isAttributeSupported('AXDOMIdentifier')");
+          shouldBe("item.stringAttributeValue('AXDOMIdentifier')", "'item1'");
+
+          shouldBeTrue("item.isAttributeSupported('AXDOMClassList')");
+          shouldBe("item.classList", "'test, test2'");
+    }
+
+</script>
+
+<script src="../../../resources/js-test-post.js"></script>
+</body>
+</html>
index 1d52ff878f5dbd75b592372ebfa781af3f2b8254..37420d2ca35859635c102112ed1c6b78be5d33ef 100644 (file)
@@ -25,6 +25,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXLink: 'Delicious cake'>
 AXLanguage: 
+AXDOMIdentifier: test
+AXDOMClassList: <array of size 0>
 AXURL: http://www.wowhead.com/?item=33924
 AXAccessKey: (null)
 AXARIABusy: 0
@@ -53,6 +55,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXImage>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXURL: LayoutTests/accessibility/resources/cake.png
 AXAccessKey: (null)
 AXARIABusy: 0
index 703217111909ec53926f00becfc6f551fb07e6e2..18702abf93e1f5e04c5b9fe6b887788d3097f440 100644 (file)
@@ -22,6 +22,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: result
+AXDOMClassList: <array of size 0>
 AXARIABusy: 0
 
 ------------
@@ -47,6 +49,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXLink>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXURL: http://www.apple.com/
 AXAccessKey: (null)
 AXARIABusy: 0
@@ -75,6 +79,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXLink>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXURL: http://www.apple.com/
 AXAccessKey: (null)
 AXARIABusy: 0
index 2c16fb40ac64424d6884d66f9e7858e024400902..f83f092ecdaff9af855f7df5d1cff5e19d5f4003 100644 (file)
@@ -22,6 +22,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXStaticText>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXARIABusy: 0
 
 ------------
index bfa63576d71b06fa61489c6501b3da4a81891e9d..3819f0df9cdbaae95b5aa26f246ab9c430c5c626 100644 (file)
@@ -22,6 +22,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXHeading: '[ edit ] Tourette syndrome'>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXARIABusy: 0
 
 ------------
@@ -49,6 +51,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: bottom2
+AXDOMClassList: <array of size 0>
 AXARIABusy: 0
 
 ------------
@@ -76,6 +80,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: bottom2
+AXDOMClassList: <array of size 0>
 AXARIABusy: 0
 
 ------------
index 60be5fd8f237c9d6d5fe87622a9efb714da50ca7..30a2e39122406ddfab87650d5c50303764905294 100644 (file)
@@ -33,6 +33,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXList>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXSelectedChildren: (null)
 AXVisibleChildren: <array of size 2>
 AXOrientation: AXVerticalOrientation
@@ -62,6 +64,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXList>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXSelectedChildren: (null)
 AXVisibleChildren: <array of size 2>
 AXOrientation: AXVerticalOrientation
@@ -91,6 +95,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXList>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXSelectedChildren: (null)
 AXVisibleChildren: <array of size 5>
 AXOrientation: AXVerticalOrientation
@@ -120,6 +126,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXTitleUIElement: (null)
 AXARIABusy: 0
 
@@ -146,6 +154,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXTitleUIElement: (null)
 AXARIABusy: 0
 
@@ -174,6 +184,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup: 'test 1'>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXTitleUIElement: (null)
 AXARIABusy: 0
 
@@ -200,6 +212,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup: 'test 2'>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXTitleUIElement: (null)
 AXARIABusy: 0
 
@@ -228,6 +242,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup: 'test 1'>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXTitleUIElement: (null)
 AXARIABusy: 0
 
@@ -254,6 +270,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup: 'test 2'>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXTitleUIElement: (null)
 AXARIABusy: 0
 
@@ -282,6 +300,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXARIABusy: 0
 
 ------------
@@ -307,6 +327,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXARIABusy: 0
 
 ------------
@@ -332,6 +354,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXARIABusy: 0
 
 ------------
@@ -357,6 +381,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXARIABusy: 0
 
 ------------
@@ -382,6 +408,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXARIABusy: 0
 
 ------------
index 51d61ca82acdeea4656de8aacf00fba6b483219c..8be71397c0030e2c1c6af0dd245f13ef12b87cdd 100644 (file)
@@ -21,6 +21,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXTitleUIElement: (null)
 AXARIABusy: 0
 
index 8cb72092f66512aa01d901cf0932edb7f72b7e92..8d37cbd72227934ceb92fb80e5509cec6c838b99 100644 (file)
@@ -22,6 +22,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXRadioButton>
 AXLanguage: 
+AXDOMIdentifier: test1
+AXDOMClassList: <array of size 0>
 AXTitleUIElement: (null)
 AXAccessKey: (null)
 AXRequired: 0
@@ -52,6 +54,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXRadioButton>
 AXLanguage: 
+AXDOMIdentifier: test1
+AXDOMClassList: <array of size 0>
 AXTitleUIElement: (null)
 AXAccessKey: (null)
 AXRequired: 0
@@ -82,6 +86,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXRadioButton>
 AXLanguage: 
+AXDOMIdentifier: test1
+AXDOMClassList: <array of size 0>
 AXTitleUIElement: (null)
 AXAccessKey: (null)
 AXRequired: 0
@@ -116,6 +122,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXRadioButton>
 AXLanguage: 
+AXDOMIdentifier: test2
+AXDOMClassList: <array of size 0>
 AXTitleUIElement: (null)
 AXAccessKey: (null)
 AXRequired: 0
@@ -146,6 +154,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXRadioButton>
 AXLanguage: 
+AXDOMIdentifier: test2
+AXDOMClassList: <array of size 0>
 AXTitleUIElement: (null)
 AXAccessKey: (null)
 AXRequired: 0
@@ -180,6 +190,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXRadioButton: 'Yes'>
 AXLanguage: 
+AXDOMIdentifier: test3
+AXDOMClassList: <array of size 0>
 AXTitleUIElement: (null)
 AXAccessKey: (null)
 AXRequired: 0
@@ -210,6 +222,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXRadioButton: 'No'>
 AXLanguage: 
+AXDOMIdentifier: test3_1
+AXDOMClassList: <array of size 0>
 AXTitleUIElement: (null)
 AXAccessKey: (null)
 AXRequired: 0
@@ -244,6 +258,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXRadioButton>
 AXLanguage: 
+AXDOMIdentifier: test4
+AXDOMClassList: <array of size 0>
 AXTitleUIElement: (null)
 AXAccessKey: (null)
 AXRequired: 0
index 7daccc2f1f51a1e5c3810ca6aab242d592c9738a..b355f74347edbf9e2432bdd7e3040ec0b926d0f1 100644 (file)
@@ -30,6 +30,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 1>
 AXRowIndexRange: NSRange: {0, 2}
 AXColumnIndexRange: NSRange: {0, 2}
 AXARIABusy: 0
@@ -58,6 +60,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 1>
 AXRowIndexRange: NSRange: {0, 2}
 AXColumnIndexRange: NSRange: {0, 2}
 AXARIABusy: 0
@@ -86,6 +90,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 1>
 AXRowIndexRange: NSRange: {0, 2}
 AXColumnIndexRange: NSRange: {2, 1}
 AXARIABusy: 0
@@ -114,6 +120,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 1>
 AXRowIndexRange: NSRange: {0, 1}
 AXColumnIndexRange: NSRange: {3, 2}
 AXARIABusy: 0
@@ -142,6 +150,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 1>
 AXRowIndexRange: NSRange: {0, 1}
 AXColumnIndexRange: NSRange: {3, 2}
 AXARIABusy: 0
@@ -174,6 +184,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 1>
 AXRowIndexRange: NSRange: {0, 2}
 AXColumnIndexRange: NSRange: {0, 2}
 AXARIABusy: 0
@@ -202,6 +214,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 1>
 AXRowIndexRange: NSRange: {1, 1}
 AXColumnIndexRange: NSRange: {3, 1}
 AXARIABusy: 0
@@ -230,6 +244,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {2, 2}
 AXColumnIndexRange: NSRange: {0, 1}
 AXARIABusy: 0
@@ -258,6 +274,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {3, 1}
 AXColumnIndexRange: NSRange: {1, 1}
 AXARIABusy: 0
@@ -290,6 +308,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXColumn>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXIndex: 0
 AXHeader: <AXColumn>
 AXRows: <array of size 2>
@@ -319,6 +339,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXColumn>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXIndex: 1
 AXHeader: <AXColumn>
 AXRows: <array of size 3>
@@ -348,6 +370,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXColumn>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXIndex: 2
 AXHeader: <AXColumn>
 AXRows: <array of size 3>
@@ -377,6 +401,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXColumn>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXIndex: 3
 AXHeader: <AXColumn>
 AXRows: <array of size 4>
@@ -406,6 +432,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXColumn>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXIndex: 4
 AXHeader: <AXColumn>
 AXRows: <array of size 4>
@@ -439,6 +467,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXRow>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXIndex: 0
 AXARIABusy: 0
 
@@ -465,6 +495,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXRow>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXIndex: 1
 AXARIABusy: 0
 
@@ -491,6 +523,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXRow>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXIndex: 2
 AXARIABusy: 0
 
@@ -517,6 +551,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXRow>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXIndex: 3
 AXARIABusy: 0
 
@@ -547,6 +583,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 1>
 AXRowIndexRange: NSRange: {0, 2}
 AXColumnIndexRange: NSRange: {0, 2}
 AXARIABusy: 0
@@ -575,6 +613,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 1>
 AXRowIndexRange: NSRange: {0, 2}
 AXColumnIndexRange: NSRange: {2, 1}
 AXARIABusy: 0
@@ -603,6 +643,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 1>
 AXRowIndexRange: NSRange: {0, 1}
 AXColumnIndexRange: NSRange: {3, 2}
 AXARIABusy: 0
@@ -631,6 +673,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 1>
 AXRowIndexRange: NSRange: {1, 1}
 AXColumnIndexRange: NSRange: {3, 1}
 AXARIABusy: 0
@@ -659,6 +703,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 1>
 AXRowIndexRange: NSRange: {1, 1}
 AXColumnIndexRange: NSRange: {4, 1}
 AXARIABusy: 0
@@ -687,6 +733,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {2, 2}
 AXColumnIndexRange: NSRange: {0, 1}
 AXARIABusy: 0
@@ -715,6 +763,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {2, 1}
 AXColumnIndexRange: NSRange: {1, 1}
 AXARIABusy: 0
@@ -743,6 +793,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {2, 1}
 AXColumnIndexRange: NSRange: {2, 1}
 AXARIABusy: 0
@@ -771,6 +823,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {2, 1}
 AXColumnIndexRange: NSRange: {3, 1}
 AXARIABusy: 0
@@ -799,6 +853,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {2, 1}
 AXColumnIndexRange: NSRange: {4, 1}
 AXARIABusy: 0
@@ -827,6 +883,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {3, 1}
 AXColumnIndexRange: NSRange: {1, 1}
 AXARIABusy: 0
@@ -855,6 +913,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {3, 1}
 AXColumnIndexRange: NSRange: {2, 1}
 AXARIABusy: 0
@@ -883,6 +943,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {3, 1}
 AXColumnIndexRange: NSRange: {3, 1}
 AXARIABusy: 0
@@ -911,6 +973,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {3, 1}
 AXColumnIndexRange: NSRange: {4, 1}
 AXARIABusy: 0
@@ -943,6 +1007,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXARIABusy: 0
 
 ------------
index 412d91088d8e6d43e18ae8c974f7eda1ad97ca2a..ff50328e9022dbcd9b61b4e95ed0e225fb073e5a 100644 (file)
@@ -30,6 +30,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 1>
 AXRowIndexRange: NSRange: {0, 2}
 AXColumnIndexRange: NSRange: {0, 2}
 AXARIABusy: 0
@@ -61,6 +63,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 1>
 AXRowIndexRange: NSRange: {0, 2}
 AXColumnIndexRange: NSRange: {0, 2}
 AXARIABusy: 0
@@ -92,6 +96,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 1>
 AXRowIndexRange: NSRange: {2, 2}
 AXColumnIndexRange: NSRange: {0, 1}
 AXARIABusy: 0
@@ -123,6 +129,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 1>
 AXRowIndexRange: NSRange: {2, 2}
 AXColumnIndexRange: NSRange: {0, 1}
 AXARIABusy: 0
@@ -154,6 +162,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 1>
 AXRowIndexRange: NSRange: {2, 1}
 AXColumnIndexRange: NSRange: {3, 1}
 AXARIABusy: 0
index 0a18da06a9abcf6995ce30f594f4f5158a99d24a..8ce2ab79eaa720e0080888fca8646aeb8196e8cd 100644 (file)
@@ -32,6 +32,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 1>
 AXRowIndexRange: NSRange: {0, 2}
 AXColumnIndexRange: NSRange: {0, 2}
 AXARIABusy: 0
@@ -61,6 +63,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 1>
 AXRowIndexRange: NSRange: {1, 1}
 AXColumnIndexRange: NSRange: {3, 1}
 AXARIABusy: 0
@@ -90,6 +94,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 1>
 AXRowIndexRange: NSRange: {0, 2}
 AXColumnIndexRange: NSRange: {0, 2}
 AXARIABusy: 0
@@ -119,6 +125,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {2, 1}
 AXColumnIndexRange: NSRange: {2, 1}
 AXARIABusy: 0
@@ -148,6 +156,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {5, 1}
 AXColumnIndexRange: NSRange: {3, 1}
 AXARIABusy: 0
index b9739e0892be7ebf83b586930ff3a8faac097ca8..b09b5a099624f6ce60fc16adc03ee3bb6a85025d 100644 (file)
@@ -23,6 +23,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXTable>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRows: <array of size 2>
 AXVisibleRows: <array of size 2>
 AXColumns: <array of size 2>
@@ -61,6 +63,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXTable>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRows: <array of size 1>
 AXVisibleRows: <array of size 1>
 AXColumns: <array of size 2>
@@ -98,6 +102,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXTitleUIElement: (null)
 AXARIABusy: 0
 
@@ -128,6 +134,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXTable>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRows: <array of size 1>
 AXVisibleRows: <array of size 1>
 AXColumns: <array of size 2>
@@ -165,6 +173,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXTable>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRows: <array of size 1>
 AXVisibleRows: <array of size 1>
 AXColumns: <array of size 2>
@@ -202,6 +212,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXTable>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRows: <array of size 2>
 AXVisibleRows: <array of size 2>
 AXColumns: <array of size 2>
@@ -240,6 +252,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXTable>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRows: <array of size 1>
 AXVisibleRows: <array of size 1>
 AXColumns: <array of size 2>
@@ -277,6 +291,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXTitleUIElement: (null)
 AXARIABusy: 0
 
@@ -307,6 +323,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXTitleUIElement: (null)
 AXARIABusy: 0
 
@@ -337,6 +355,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXTable>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRows: <array of size 1>
 AXVisibleRows: <array of size 1>
 AXColumns: <array of size 2>
@@ -374,6 +394,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 1>
 AXTitleUIElement: (null)
 AXARIABusy: 0
 
@@ -404,6 +426,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: nmb
+AXDOMClassList: <array of size 1>
 AXTitleUIElement: (null)
 AXARIABusy: 0
 
@@ -440,6 +464,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXTable>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRows: <array of size 1>
 AXVisibleRows: <array of size 1>
 AXColumns: <array of size 2>
@@ -477,6 +503,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXTable>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRows: <array of size 2>
 AXVisibleRows: <array of size 2>
 AXColumns: <array of size 2>
@@ -515,6 +543,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXTitleUIElement: (null)
 AXARIABusy: 0
 
@@ -546,6 +576,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXTable>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRows: <array of size 3>
 AXVisibleRows: <array of size 3>
 AXColumns: <array of size 2>
@@ -585,6 +617,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXTable>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRows: <array of size 3>
 AXVisibleRows: <array of size 3>
 AXColumns: <array of size 2>
@@ -624,6 +658,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXTable>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRows: <array of size 2>
 AXVisibleRows: <array of size 2>
 AXColumns: <array of size 2>
@@ -662,6 +698,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXTable>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRows: <array of size 24>
 AXVisibleRows: <array of size 24>
 AXColumns: <array of size 1>
index d1f2e3ddba4fd506e70f26c7fe3a3d290f49c83f..048bbd7c6b1818ee77fb8a3cabfe2eac6ee961d0 100644 (file)
@@ -23,5 +23,7 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXARIABusy: 0
 
index 97edd5cb85ae5efd1658e314dd05bd5d4a94ced3..65699287a836e9c1692074edf7ed3e9b428ee959 100644 (file)
@@ -39,6 +39,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {0, 1}
 AXColumnIndexRange: NSRange: {0, 1}
 AXARIABusy: 0
@@ -67,6 +69,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {0, 1}
 AXColumnIndexRange: NSRange: {1, 1}
 AXARIABusy: 0
@@ -95,6 +99,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {0, 1}
 AXColumnIndexRange: NSRange: {2, 1}
 AXARIABusy: 0
@@ -127,6 +133,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {0, 1}
 AXColumnIndexRange: NSRange: {0, 1}
 AXARIABusy: 0
@@ -155,6 +163,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {1, 1}
 AXColumnIndexRange: NSRange: {0, 1}
 AXARIABusy: 0
@@ -183,6 +193,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {2, 1}
 AXColumnIndexRange: NSRange: {0, 1}
 AXARIABusy: 0
@@ -215,6 +227,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXColumn>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXIndex: 0
 AXHeader: <AXColumn>
 AXRows: <array of size 4>
@@ -244,6 +258,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXColumn>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXIndex: 1
 AXHeader: <AXColumn>
 AXRows: <array of size 4>
@@ -273,6 +289,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXColumn>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXIndex: 2
 AXHeader: <AXColumn>
 AXRows: <array of size 4>
@@ -306,6 +324,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXRow>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXIndex: 0
 AXARIABusy: 0
 
@@ -332,6 +352,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXRow>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXIndex: 1
 AXARIABusy: 0
 
@@ -358,6 +380,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXRow>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXIndex: 2
 AXARIABusy: 0
 
@@ -384,6 +408,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXRow>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXIndex: 3
 AXARIABusy: 0
 
@@ -414,6 +440,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {0, 1}
 AXColumnIndexRange: NSRange: {0, 1}
 AXARIABusy: 0
@@ -442,6 +470,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {0, 1}
 AXColumnIndexRange: NSRange: {1, 1}
 AXARIABusy: 0
@@ -470,6 +500,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {0, 1}
 AXColumnIndexRange: NSRange: {2, 1}
 AXARIABusy: 0
@@ -498,6 +530,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {1, 1}
 AXColumnIndexRange: NSRange: {0, 1}
 AXARIABusy: 0
@@ -526,6 +560,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {1, 1}
 AXColumnIndexRange: NSRange: {1, 1}
 AXARIABusy: 0
@@ -554,6 +590,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {1, 1}
 AXColumnIndexRange: NSRange: {2, 1}
 AXARIABusy: 0
@@ -582,6 +620,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {2, 1}
 AXColumnIndexRange: NSRange: {0, 1}
 AXARIABusy: 0
@@ -610,6 +650,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {2, 1}
 AXColumnIndexRange: NSRange: {1, 1}
 AXARIABusy: 0
@@ -638,6 +680,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {2, 1}
 AXColumnIndexRange: NSRange: {2, 1}
 AXARIABusy: 0
@@ -666,6 +710,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {3, 1}
 AXColumnIndexRange: NSRange: {0, 1}
 AXARIABusy: 0
@@ -694,6 +740,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {3, 1}
 AXColumnIndexRange: NSRange: {1, 1}
 AXARIABusy: 0
@@ -722,6 +770,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {3, 1}
 AXColumnIndexRange: NSRange: {2, 1}
 AXARIABusy: 0
@@ -754,6 +804,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXARIABusy: 0
 
 ------------
@@ -787,6 +839,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {0, 1}
 AXColumnIndexRange: NSRange: {0, 1}
 AXARIABusy: 0
@@ -815,6 +869,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {0, 1}
 AXColumnIndexRange: NSRange: {1, 1}
 AXARIABusy: 0
@@ -843,6 +899,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {0, 1}
 AXColumnIndexRange: NSRange: {2, 1}
 AXARIABusy: 0
@@ -875,6 +933,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {0, 1}
 AXColumnIndexRange: NSRange: {0, 1}
 AXARIABusy: 0
@@ -903,6 +963,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {1, 1}
 AXColumnIndexRange: NSRange: {0, 1}
 AXARIABusy: 0
@@ -931,6 +993,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {2, 1}
 AXColumnIndexRange: NSRange: {0, 1}
 AXARIABusy: 0
@@ -963,6 +1027,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXColumn>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXIndex: 0
 AXHeader: <AXColumn>
 AXRows: <array of size 4>
@@ -992,6 +1058,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXColumn>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXIndex: 1
 AXHeader: <AXColumn>
 AXRows: <array of size 4>
@@ -1021,6 +1089,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXColumn>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXIndex: 2
 AXHeader: <AXColumn>
 AXRows: <array of size 4>
@@ -1054,6 +1124,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXRow>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXIndex: 0
 AXARIABusy: 0
 
@@ -1080,6 +1152,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXRow>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXIndex: 1
 AXARIABusy: 0
 
@@ -1106,6 +1180,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXRow>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXIndex: 2
 AXARIABusy: 0
 
@@ -1132,6 +1208,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXRow>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXIndex: 3
 AXARIABusy: 0
 
@@ -1162,6 +1240,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {0, 1}
 AXColumnIndexRange: NSRange: {0, 1}
 AXARIABusy: 0
@@ -1190,6 +1270,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {0, 1}
 AXColumnIndexRange: NSRange: {1, 1}
 AXARIABusy: 0
@@ -1218,6 +1300,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {0, 1}
 AXColumnIndexRange: NSRange: {2, 1}
 AXARIABusy: 0
@@ -1246,6 +1330,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {1, 1}
 AXColumnIndexRange: NSRange: {0, 1}
 AXARIABusy: 0
@@ -1274,6 +1360,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {1, 1}
 AXColumnIndexRange: NSRange: {1, 1}
 AXARIABusy: 0
@@ -1302,6 +1390,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {1, 1}
 AXColumnIndexRange: NSRange: {2, 1}
 AXARIABusy: 0
@@ -1330,6 +1420,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {2, 1}
 AXColumnIndexRange: NSRange: {0, 1}
 AXARIABusy: 0
@@ -1358,6 +1450,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {2, 1}
 AXColumnIndexRange: NSRange: {1, 1}
 AXARIABusy: 0
@@ -1386,6 +1480,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {2, 1}
 AXColumnIndexRange: NSRange: {2, 1}
 AXARIABusy: 0
@@ -1414,6 +1510,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {3, 1}
 AXColumnIndexRange: NSRange: {0, 1}
 AXARIABusy: 0
@@ -1442,6 +1540,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {3, 1}
 AXColumnIndexRange: NSRange: {1, 1}
 AXARIABusy: 0
@@ -1470,6 +1570,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXCell>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXRowIndexRange: NSRange: {3, 1}
 AXColumnIndexRange: NSRange: {2, 1}
 AXARIABusy: 0
@@ -1502,6 +1604,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXARIABusy: 0
 
 ------------
index 9f6b39a9db105cc44fa20906fd0bf7e2fe1c26e2..9d301b4f0c5a35447253bc062c35a8fa27cf1a42 100644 (file)
@@ -23,6 +23,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXButton: 'test test test test test test'>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXTitleUIElement: (null)
 AXAccessKey: (null)
 AXARIABusy: 0
index 21b9a9f1ea33f019a85c0c70c105e32b028b1aee..9c5bea1482f6dbd3376c1187bfce50c64c41b7a3 100644 (file)
@@ -27,6 +27,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXTable>
 AXLanguage: 
+AXDOMIdentifier: testTable2
+AXDOMClassList: <array of size 0>
 AXRows: <array of size 1>
 AXVisibleRows: <array of size 1>
 AXColumns: <array of size 2>
@@ -60,6 +62,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXTable>
 AXLanguage: 
+AXDOMIdentifier: testTable3
+AXDOMClassList: <array of size 0>
 AXRows: <array of size 1>
 AXVisibleRows: <array of size 1>
 AXColumns: <array of size 2>
@@ -93,6 +97,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXTable>
 AXLanguage: 
+AXDOMIdentifier: testTable4
+AXDOMClassList: <array of size 0>
 AXRows: <array of size 1>
 AXVisibleRows: <array of size 1>
 AXColumns: <array of size 2>
@@ -126,6 +132,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXTitleUIElement: (null)
 AXARIABusy: 0
 
@@ -152,6 +160,8 @@ AXSelected: 0
 AXBlockQuoteLevel: 0
 AXTopLevelUIElement: <AXGroup>
 AXLanguage: 
+AXDOMIdentifier: 
+AXDOMClassList: <array of size 0>
 AXTitleUIElement: (null)
 AXARIABusy: 0
 
index 71c05935b8791b8b7d32bf68ba92c6d7496a4bd5..73ecce142e8053ef7f9d350d43a594702a7f94d9 100644 (file)
@@ -1,3 +1,24 @@
+2013-09-10  Chris Fleizach  <cfleizach@apple.com>
+
+        AX: Expose DOM ID and ClassList to AX APIs for automation and AT element hashes
+        https://bugs.webkit.org/show_bug.cgi?id=120552
+
+        Reviewed by Darin Adler.
+
+        Add Mac support for exposing the DOM ID and DOM class list so that accessibility
+        clients can leverage that information.
+
+        Test: platform/mac/accessibility/id-class-attributes.html
+
+        * accessibility/AccessibilityObject.cpp:
+        (WebCore::AccessibilityObject::domIdentifier):
+        (WebCore::AccessibilityObject::domClassList):
+        * accessibility/AccessibilityObject.h:
+        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
+        (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
+        (convertStringsToNSArray):
+        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
+
 2013-09-10  Denis Nomiyama  <d.nomiyama@samsung.com>
 
         [GTK] accessibility/loading-iframe-sends-notification.html is failing
index 2e9fd790ce53bc2f19e4129ee9dbe70a2f113a48..79e2479d963247dbb90dca202141d0904aa61edb 100644 (file)
@@ -32,6 +32,7 @@
 #include "AXObjectCache.h"
 #include "AccessibilityRenderObject.h"
 #include "AccessibilityTable.h"
+#include "DOMTokenList.h"
 #include "Editor.h"
 #include "FloatRect.h"
 #include "FocusController.h"
@@ -1648,6 +1649,27 @@ int AccessibilityObject::ariaPosInSet() const
     return getAttribute(aria_posinsetAttr).toInt();
 }
     
+String AccessibilityObject::identifierAttribute() const
+{
+    return getAttribute(idAttr);
+}
+    
+void AccessibilityObject::classList(Vector<String>& classList) const
+{
+    Node* node = this->node();
+    if (!node || !node->isElementNode())
+        return;
+    
+    Element* element = toElement(node);
+    DOMTokenList* list = element->classList();
+    if (!list)
+        return;
+    unsigned length = list->length();
+    for (unsigned k = 0; k < length; k++)
+        classList.append(list->item(k).string());
+}
+
+    
 bool AccessibilityObject::supportsARIAExpanded() const
 {
     // Undefined values should not result in this attribute being exposed to ATs according to ARIA.
index 125377bd51ebd5cb1876405311bcbafb0bfb7701..e3a3d25d7d62fc452a1ae16fe4d7d7b814ad48d3 100644 (file)
@@ -544,7 +544,9 @@ public:
     AccessibilitySortDirection sortDirection() const;
     virtual bool canvasHasFallbackContent() const { return false; }
     bool supportsRangeValue() const;
-
+    String identifierAttribute() const;
+    void classList(Vector<String>&) const;
+    
     bool supportsARIASetSize() const;
     bool supportsARIAPosInSet() const;
     int ariaSetSize() const;
index 7e487e5bc8ae3d3ea26e528000351650e966190a..f72c106e496351d7043ccb861446baf05b87523e 100644 (file)
@@ -360,6 +360,9 @@ using namespace std;
 #define NSAccessibilityPathAttribute @"AXPath"
 #endif
 
+#define NSAccessibilityDOMIdentifierAttribute @"AXDOMIdentifier"
+#define NSAccessibilityDOMClassListAttribute @"AXDOMClassList"
+
 // Math attributes
 #define NSAccessibilityMathRootRadicandAttribute @"AXMathRootRadicand"
 #define NSAccessibilityMathRootIndexAttribute @"AXMathRootIndex"
@@ -1117,6 +1120,8 @@ static id textMarkerRangeFromVisiblePositions(AXObjectCache *cache, VisiblePosit
                       NSAccessibilityBlockQuoteLevelAttribute,
                       NSAccessibilityTopLevelUIElementAttribute,
                       NSAccessibilityLanguageAttribute,
+                      NSAccessibilityDOMIdentifierAttribute,
+                      NSAccessibilityDOMClassListAttribute,
                       nil];
     }
     if (commonMenuAttrs == nil) {
@@ -1493,6 +1498,15 @@ static NSMutableArray* convertToNSArray(const AccessibilityObject::Accessibility
     return array;
 }
 
+static NSMutableArray *convertStringsToNSArray(const Vector<String>& vector)
+{
+    size_t length = vector.size();
+    NSMutableArray *array = [NSMutableArray arrayWithCapacity:length];
+    for (size_t i = 0; i < length; ++i)
+        [array addObject:vector[i]];
+    return array;
+}
+
 - (id)textMarkerRangeForSelection
 {
     VisibleSelection selection = m_object->selection();
@@ -2668,12 +2682,7 @@ static NSString* roleValueToNSString(AccessibilityRole value)
     if ([attributeName isEqualToString:NSAccessibilityDropEffectsAttribute]) {
         Vector<String> dropEffects;
         m_object->determineARIADropEffects(dropEffects);
-        size_t length = dropEffects.size();
-        
-        NSMutableArray* dropEffectsArray = [NSMutableArray arrayWithCapacity:length];
-        for (size_t i = 0; i < length; ++i)
-            [dropEffectsArray addObject:dropEffects[i]];
-        return dropEffectsArray;
+        return convertStringsToNSArray(dropEffects);
     }
     
     if ([attributeName isEqualToString:NSAccessibilityPlaceholderValueAttribute])
@@ -2724,6 +2733,14 @@ static NSString* roleValueToNSString(AccessibilityRole value)
             return [self accessibilityMathPrescriptPairs];
     }
     
+    if ([attributeName isEqualToString:NSAccessibilityDOMIdentifierAttribute])
+        return m_object->identifierAttribute();
+    if ([attributeName isEqualToString:NSAccessibilityDOMClassListAttribute]) {
+        Vector<String> classList;
+        m_object->classList(classList);
+        return convertStringsToNSArray(classList);
+    }
+    
     // this is used only by DumpRenderTree for testing
     if ([attributeName isEqualToString:@"AXClickPoint"])
         return [NSValue valueWithPoint:m_object->clickPoint()];
index 7599e5f4acafc5336e2e81461c9be9bbe61f6815..a33074adb3915d6cd5d3704cb61a28e55ff4c972 100644 (file)
@@ -1,3 +1,31 @@
+2013-09-10  Chris Fleizach  <cfleizach@apple.com>
+
+        AX: Expose DOM ID and ClassList to AX APIs for automation and AT element hashes
+        https://bugs.webkit.org/show_bug.cgi?id=120552
+
+        Reviewed by Darin Adler.
+
+        * DumpRenderTree/AccessibilityUIElement.cpp:
+        (getClassListCallback):
+        (AccessibilityUIElement::getJSClass):
+        * DumpRenderTree/AccessibilityUIElement.h:
+        * DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
+        (AccessibilityUIElement::classList):
+        * DumpRenderTree/blackberry/AccessibilityUIElementBlackBerry.cpp:
+        (AccessibilityUIElement::classList):
+        * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+        (AccessibilityUIElement::classList):
+        * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+        (AccessibilityUIElement::classList):
+        * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
+        (WTR::AccessibilityUIElement::classList):
+        * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
+        * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
+        * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
+        (WTR::AccessibilityUIElement::classList):
+        * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
+        (WTR::AccessibilityUIElement::classList):
+
 2013-09-10  Denis Nomiyama  <d.nomiyama@samsung.com>
 
         [GTK] accessibility/loading-iframe-sends-notification.html is failing
index 77d11a221607a580f3e94b53aa99e5a501813d04..5ced279f254e7355d8f9f3954c033f70e68affa7 100644 (file)
@@ -723,6 +723,12 @@ static JSValueRef getARIADropEffectsCallback(JSContextRef context, JSObjectRef t
     return JSValueMakeString(context, dropEffects.get());
 }
 
+static JSValueRef getClassListCallback(JSContextRef context, JSObjectRef thisObject, JSStringRef propertyName, JSValueRef* exception)
+{
+    JSRetainPtr<JSStringRef> classList(Adopt, toAXElement(thisObject)->classList());
+    return JSValueMakeString(context, classList.get());
+}
+
 static JSValueRef getARIAIsGrabbedCallback(JSContextRef context, JSObjectRef thisObject, JSStringRef propertyName, JSValueRef* exception)
 {
     return JSValueMakeBoolean(context, toAXElement(thisObject)->ariaIsGrabbed());
@@ -1260,6 +1266,7 @@ JSClassRef AccessibilityUIElement::getJSClass()
         { "orientation", getOrientationCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "ariaIsGrabbed", getARIAIsGrabbedCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "ariaDropEffects", getARIADropEffectsCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
+        { "classList", getClassListCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "isIgnored", isIgnoredCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "speak", speakCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "selectedChildrenCount", selectedChildrenCountCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
index d4dac25c811b1f5b507db706544185e2f052121c..b75b42abf998987d8f4f43fe78f7bd52b97ae945 100644 (file)
@@ -160,6 +160,7 @@ public:
     JSStringRef documentEncoding();
     JSStringRef documentURI();
     JSStringRef url();
+    JSStringRef classList() const;
 
     // CSS3-speech properties.
     JSStringRef speak();
index 747e498e3a74871155a08e468a0a785bc9b70c99..eefca768122f9d56abfd513ac7006b7931f0eec5 100644 (file)
@@ -1161,4 +1161,10 @@ void AccessibilityUIElement::scrollToGlobalPoint(int x, int y)
     // FIXME: implement
 }
 
+JSStringRef AccessibilityUIElement::classList() const
+{
+    // FIXME: implement
+    return 0;
+}
+
 #endif
index dc6635466d494d00222eed7a75f45f4c06420a87..69fc3d807f417878ac518eefe896af7401a98d27 100644 (file)
@@ -649,3 +649,8 @@ bool AccessibilityUIElement::isFocusable() const
     return false;
 }
 
+JSStringRef AccessibilityUIElement::classList()
+{
+    notImplemented();
+    return 0;
+}
index f775006fc12c975c3e190e8ed18a98519e4590a5..a2474324fc98da94c07f80838594778041135fb6 100644 (file)
@@ -783,6 +783,25 @@ JSStringRef AccessibilityUIElement::speak()
     return 0;
 }
 
+JSStringRef AccessibilityUIElement::classList() const
+{
+    BEGIN_AX_OBJC_EXCEPTIONS
+    id value = [m_element accessibilityAttributeValue:@"AXDOMClassList"];
+    if (![value isKindOfClass:[NSArray class]])
+        return 0;
+    
+    NSMutableString* classList = [NSMutableString string];
+    NSInteger length = [value count];
+    for (NSInteger k = 0; k < length; ++k) {
+        [classList appendString:[value objectAtIndex:k]];
+        if (k < length - 1)
+            [classList appendString:@", "];
+    }
+    
+    return [classList createJSStringRef];
+    END_AX_OBJC_EXCEPTIONS
+}
+
 bool AccessibilityUIElement::ariaIsGrabbed() const
 {
     BEGIN_AX_OBJC_EXCEPTIONS
index 71d9f8b25794478aa3410bbcb26c0f37826b0dff..de295c1d63e5dd25421872944a543b829318bbbb 100644 (file)
@@ -833,3 +833,9 @@ void AccessibilityUIElement::scrollToGlobalPoint(int x, int y)
 {
     // FIXME: implement
 }
+
+JSStringRef AccessibilityUIElement::classList()
+{
+    // FIXME: implement
+    return 0;
+}
index 5f149e0d7152700cf12d8565ac97764164ad4342..5bda4d5c2fe2835e16a177111763dd3c3a07817a 100644 (file)
@@ -151,6 +151,7 @@ PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::ariaOwnsElementAtInde
 PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::ariaFlowToElementAtIndex(unsigned) { return 0; }
 bool AccessibilityUIElement::ariaIsGrabbed() const { return false; }
 JSRetainPtr<JSStringRef> AccessibilityUIElement::ariaDropEffects() const { return 0; }
+JSRetainPtr<JSStringRef> AccessibilityUIElement::classList() const { return 0; }
 int AccessibilityUIElement::lineForIndex(int) { return 0; }
 JSRetainPtr<JSStringRef> AccessibilityUIElement::rangeForLine(int) { return 0; }
 JSRetainPtr<JSStringRef> AccessibilityUIElement::rangeForPosition(int, int) { return 0; }
index 67f7fa29bdc008c3151b5f000ee25fff17ff0ab5..bb1bde5d35abfe7cf8317733f256bf4186a1559a 100644 (file)
@@ -162,6 +162,7 @@ public:
     JSRetainPtr<JSStringRef> documentEncoding();
     JSRetainPtr<JSStringRef> documentURI();
     JSRetainPtr<JSStringRef> url();
+    JSRetainPtr<JSStringRef> classList() const;
 
     // CSS3-speech properties.
     JSRetainPtr<JSStringRef> speak();
index 48f76f2465541ad192cb65fb3f55593e94f7c726..75e8f7ba982639a17d494e0d4801fa6fc7ff6059 100644 (file)
@@ -86,7 +86,8 @@ interface AccessibilityUIElement {
     readonly attribute int hierarchicalLevel;
     readonly attribute boolean ariaIsGrabbed;
     readonly attribute DOMString ariaDropEffects;
-    
+    readonly attribute DOMString classList;
+
     readonly attribute int x;
     readonly attribute int y;
     readonly attribute int width;
index a005f15f8c8d1da1788064448cd2b8c0791cd8e5..51fe4bdebde98f6516886fbf72b9d405b3da7833 100644 (file)
@@ -1295,6 +1295,12 @@ JSRetainPtr<JSStringRef> AccessibilityUIElement::mathPrescriptsDescription() con
     return 0;
 }
 
+JSRetainPtr<JSStringRef> AccessibilityUIElement::classList() const
+{
+    notImplemented();
+    return 0;
+}
+
 } // namespace WTR
 
 #endif
index ffc82fc742f25ac60da45d066fa3ab3960c708ce..3cc0177e93c1a23c211e25885c049d9cdb388ea2 100644 (file)
@@ -782,6 +782,27 @@ int AccessibilityUIElement::hierarchicalLevel() const
 
     return 0;
 }
+    
+JSRetainPtr<JSStringRef> AccessibilityUIElement::classList() const
+{
+    BEGIN_AX_OBJC_EXCEPTIONS
+    id value = [m_element accessibilityAttributeValue:@"AXDOMClassList"];
+    if (![value isKindOfClass:[NSArray class]])
+        return 0;
+    
+    NSMutableString* classList = [NSMutableString string];
+    NSInteger length = [value count];
+    for (NSInteger k = 0; k < length; ++k) {
+        [classList appendString:[value objectAtIndex:k]];
+        if (k < length - 1)
+            [classList appendString:@", "];
+    }
+    
+    return [classList createJSStringRef];
+    END_AX_OBJC_EXCEPTIONS
+    
+    return 0;
+}
 
 JSRetainPtr<JSStringRef> AccessibilityUIElement::speak()
 {