[ATK] Expose value of aria-keyshortcuts as object attribute
https://bugs.webkit.org/show_bug.cgi?id=171175
Reviewed by Chris Fleizach.
Source/WebCore:
Expose the author-provided string through the "keyshortcuts" object attribute.
Test: accessibility/gtk/aria-keyshortcuts.html
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::ariaKeyShortcutsValue const):
* accessibility/AccessibilityObject.h:
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetAttributes):
* html/HTMLAttributeNames.in:
LayoutTests:
* accessibility/gtk/aria-keyshortcuts-expected.txt: Added.
* accessibility/gtk/aria-keyshortcuts.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@223190 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp b/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp
index bdc91c3..7f2f4fb 100644
--- a/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp
+++ b/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp
@@ -601,6 +601,11 @@
else if (coreObject->supportsARIADragging())
attributeSet = addToAtkAttributeSet(attributeSet, "grabbed", "false");
+ // The Core AAM states the author-provided value should be exposed as-is.
+ const AtomicString& keyShortcuts = coreObject->ariaKeyShortcutsValue();
+ if (!keyShortcuts.isEmpty())
+ attributeSet = addToAtkAttributeSet(attributeSet, "keyshortcuts", keyShortcuts.string().utf8().data());
+
return attributeSet;
}