Title: [227526] trunk
- Revision
- 227526
- Author
- cfleiz...@apple.com
- Date
- 2018-01-24 09:37:24 -0800 (Wed, 24 Jan 2018)
Log Message
AX: Provide a way for VoiceOver to uniquely identify a web session
https://bugs.webkit.org/show_bug.cgi?id=181894
Reviewed by Joanmarie Diggs.
Source/WebCore:
Add a way for VoiceOver to uniquely track a web page session.
Test: accessibility/mac/session-id.html
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
LayoutTests:
* accessibility/mac/document-attributes-expected.txt:
* accessibility/mac/session-id-expected.txt: Added.
* accessibility/mac/session-id.html: Added.
* platform/mac/accessibility/parent-delete-expected.txt: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (227525 => 227526)
--- trunk/LayoutTests/ChangeLog 2018-01-24 17:28:54 UTC (rev 227525)
+++ trunk/LayoutTests/ChangeLog 2018-01-24 17:37:24 UTC (rev 227526)
@@ -1,3 +1,15 @@
+2018-01-24 Chris Fleizach <cfleiz...@apple.com>
+
+ AX: Provide a way for VoiceOver to uniquely identify a web session
+ https://bugs.webkit.org/show_bug.cgi?id=181894
+
+ Reviewed by Joanmarie Diggs.
+
+ * accessibility/mac/document-attributes-expected.txt:
+ * accessibility/mac/session-id-expected.txt: Added.
+ * accessibility/mac/session-id.html: Added.
+ * platform/mac/accessibility/parent-delete-expected.txt: Added.
+
2018-01-24 Ms2ger <ms2...@igalia.com>
[GTK] Fix some test failures in ATK selection handling.
Modified: trunk/LayoutTests/accessibility/mac/document-attributes-expected.txt (227525 => 227526)
--- trunk/LayoutTests/accessibility/mac/document-attributes-expected.txt 2018-01-24 17:28:54 UTC (rev 227525)
+++ trunk/LayoutTests/accessibility/mac/document-attributes-expected.txt 2018-01-24 17:37:24 UTC (rev 227526)
@@ -28,6 +28,7 @@
AXURL: LayoutTests/accessibility/mac/document-attributes.html
AXCaretBrowsingEnabled: 0
AXPreventKeyboardDOMEventDispatch: 0
+AXWebSessionID: 1
AXElementBusy: 0
Added: trunk/LayoutTests/accessibility/mac/session-id-expected.txt (0 => 227526)
--- trunk/LayoutTests/accessibility/mac/session-id-expected.txt (rev 0)
+++ trunk/LayoutTests/accessibility/mac/session-id-expected.txt 2018-01-24 17:37:24 UTC (rev 227526)
@@ -0,0 +1,11 @@
+This tests that we can receive the page ID from the web area element.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS webArea.role is 'AXRole: AXWebArea'
+PASS webArea.numberAttributeValue('AXWebSessionID') >= 1 is true
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: trunk/LayoutTests/accessibility/mac/session-id.html (0 => 227526)
--- trunk/LayoutTests/accessibility/mac/session-id.html (rev 0)
+++ trunk/LayoutTests/accessibility/mac/session-id.html 2018-01-24 17:37:24 UTC (rev 227526)
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src=""
+</head>
+<body id="body">
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+
+ description("This tests that we can receive the page ID from the web area element.");
+
+ if (window.accessibilityController) {
+
+ var webArea = accessibilityController.rootElement.childAtIndex(0);
+ shouldBe("webArea.role", "'AXRole: AXWebArea'");
+ shouldBeTrue("webArea.numberAttributeValue('AXWebSessionID') >= 1");
+ }
+
+</script>
+
+<script src=""
+</body>
+</html>
Copied: trunk/LayoutTests/platform/mac/accessibility/parent-delete-expected.txt (from rev 227525, trunk/LayoutTests/accessibility/mac/document-attributes-expected.txt) (0 => 227526)
--- trunk/LayoutTests/platform/mac/accessibility/parent-delete-expected.txt (rev 0)
+++ trunk/LayoutTests/platform/mac/accessibility/parent-delete-expected.txt 2018-01-24 17:37:24 UTC (rev 227526)
@@ -0,0 +1,34 @@
+This test passes if there is no crash.
+AXRole: AXWebArea
+AXRoleDescription: HTML content
+AXChildren: <array of size 1>
+AXHelp:
+AXParent: <AXWebArea>
+AXSize: NSSize: {800, 600}
+AXTitle:
+AXDescription:
+AXValue:
+AXFocused: 0
+AXEnabled: 1
+AXWindow: <AXWebArea>
+AXSelectedTextMarkerRange: (null)
+AXStartTextMarker: <AXWebArea>
+AXEndTextMarker: <AXWebArea>
+AXVisited: 0
+AXLinkedUIElements: <array of size 0>
+AXSelected: 0
+AXBlockQuoteLevel: 0
+AXTopLevelUIElement: <AXWebArea>
+AXLanguage:
+AXDOMIdentifier:
+AXDOMClassList: <array of size 0>
+AXLinkUIElements: <array of size 0>
+AXLoaded: 1
+AXLayoutCount: 2
+AXLoadingProgress: 1
+AXURL: LayoutTests/accessibility/parent-delete.html
+AXCaretBrowsingEnabled: 0
+AXPreventKeyboardDOMEventDispatch: 0
+AXWebSessionID: 1
+AXElementBusy: 0
+
Modified: trunk/Source/WebCore/ChangeLog (227525 => 227526)
--- trunk/Source/WebCore/ChangeLog 2018-01-24 17:28:54 UTC (rev 227525)
+++ trunk/Source/WebCore/ChangeLog 2018-01-24 17:37:24 UTC (rev 227526)
@@ -1,3 +1,18 @@
+2018-01-24 Chris Fleizach <cfleiz...@apple.com>
+
+ AX: Provide a way for VoiceOver to uniquely identify a web session
+ https://bugs.webkit.org/show_bug.cgi?id=181894
+
+ Reviewed by Joanmarie Diggs.
+
+ Add a way for VoiceOver to uniquely track a web page session.
+
+ Test: accessibility/mac/session-id.html
+
+ * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
+ (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
+ (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
+
2018-01-24 Antti Koivisto <an...@apple.com>
RenderBlockRareData::m_enclosingFragmentedFlow should be WeakPtr
Modified: trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm (227525 => 227526)
--- trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm 2018-01-24 17:28:54 UTC (rev 227525)
+++ trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm 2018-01-24 17:37:24 UTC (rev 227526)
@@ -393,6 +393,10 @@
#define NSAccessibilityCaretBrowsingEnabledAttribute @"AXCaretBrowsingEnabled"
#endif
+#ifndef NSAccessibilityWebSessionIDAttribute
+#define NSAccessibilityWebSessionIDAttribute @"AXWebSessionID"
+#endif
+
#ifndef NSAccessibilitFocusableAncestorAttribute
#define NSAccessibilityFocusableAncestorAttribute @"AXFocusableAncestor"
#endif
@@ -1359,6 +1363,7 @@
[tempArray addObject:NSAccessibilityURLAttribute];
[tempArray addObject:NSAccessibilityCaretBrowsingEnabledAttribute];
[tempArray addObject:NSAccessibilityPreventKeyboardDOMEventDispatchAttribute];
+ [tempArray addObject:NSAccessibilityWebSessionIDAttribute];
webAreaAttrs = [[NSArray alloc] initWithArray:tempArray];
[tempArray release];
}
@@ -2535,6 +2540,14 @@
return [NSNumber numberWithInt:m_object->layoutCount()];
if ([attributeName isEqualToString:NSAccessibilityLoadingProgressAttribute])
return [NSNumber numberWithDouble:m_object->estimatedLoadingProgress()];
+ if ([attributeName isEqualToString:NSAccessibilityPreventKeyboardDOMEventDispatchAttribute])
+ return [NSNumber numberWithBool:m_object->preventKeyboardDOMEventDispatch()];
+ if ([attributeName isEqualToString:NSAccessibilityCaretBrowsingEnabledAttribute])
+ return [NSNumber numberWithBool:m_object->caretBrowsingEnabled()];
+ if ([attributeName isEqualToString:NSAccessibilityWebSessionIDAttribute]) {
+ if (Document* doc = m_object->topDocument())
+ return [NSNumber numberWithUnsignedLongLong:doc->sessionID().sessionID()];
+ }
}
if (m_object->isTextControl()) {
@@ -3214,12 +3227,6 @@
return convertToNSArray(errorMessages);
}
- if (m_object->isWebArea() && [attributeName isEqualToString:NSAccessibilityPreventKeyboardDOMEventDispatchAttribute])
- return [NSNumber numberWithBool:m_object->preventKeyboardDOMEventDispatch()];
-
- if (m_object->isWebArea() && [attributeName isEqualToString:NSAccessibilityCaretBrowsingEnabledAttribute])
- return [NSNumber numberWithBool:m_object->caretBrowsingEnabled()];
-
// Multi-selectable
if ([attributeName isEqualToString:NSAccessibilityIsMultiSelectableAttribute])
return [NSNumber numberWithBool:m_object->isMultiSelectable()];
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes