[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;
 }