Changeset 215989 in webkit


Ignore:
Timestamp:
Apr 30, 2017 11:12:30 AM (7 years ago)
Author:
jdiggs@igalia.com
Message:

[ATK] Implement support for aria-autocomplete
https://bugs.webkit.org/show_bug.cgi?id=171167

Reviewed by Chris Fleizach.

Source/WebCore:

Expose ATK_STATE_SUPPORTS_AUTOCOMPLETION in the state set, and the value
of aria-autocomplete as an object attribute, for elements which indicate
they support autocompletion.

Test: accessibility/gtk/aria-autocomplete.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::supportsARIAAutoComplete):
(WebCore::AccessibilityObject::ariaAutoCompleteValue):

  • accessibility/AccessibilityObject.h:
  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetAttributes):
(setAtkStateSetFromCoreObject):

  • html/HTMLAttributeNames.in:

Tools:

Add "AXSupportsAutoCompletion" attribute so the presence of
ATK_STATE_SUPPORTS_AUTOCOMPLETION can be tested.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::boolAttributeValue):

LayoutTests:

  • accessibility/gtk/aria-autocomplete-expected.txt: Added.
  • accessibility/gtk/aria-autocomplete.html: Added.
Location:
trunk
Files:
2 added
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r215988 r215989  
     12017-04-30  Joanmarie Diggs  <jdiggs@igalia.com>
     2
     3        [ATK] Implement support for aria-autocomplete
     4        https://bugs.webkit.org/show_bug.cgi?id=171167
     5
     6        Reviewed by Chris Fleizach.
     7
     8        * accessibility/gtk/aria-autocomplete-expected.txt: Added.
     9        * accessibility/gtk/aria-autocomplete.html: Added.
     10
    1112017-04-30  Joanmarie Diggs  <jdiggs@igalia.com>
    212
  • trunk/Source/WebCore/ChangeLog

    r215988 r215989  
     12017-04-30  Joanmarie Diggs  <jdiggs@igalia.com>
     2
     3        [ATK] Implement support for aria-autocomplete
     4        https://bugs.webkit.org/show_bug.cgi?id=171167
     5
     6        Reviewed by Chris Fleizach.
     7
     8        Expose ATK_STATE_SUPPORTS_AUTOCOMPLETION in the state set, and the value
     9        of aria-autocomplete as an object attribute, for elements which indicate
     10        they support autocompletion.
     11
     12        Test: accessibility/gtk/aria-autocomplete.html
     13
     14        * accessibility/AccessibilityObject.cpp:
     15        (WebCore::AccessibilityObject::supportsARIAAutoComplete):
     16        (WebCore::AccessibilityObject::ariaAutoCompleteValue):
     17        * accessibility/AccessibilityObject.h:
     18        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
     19        (webkitAccessibleGetAttributes):
     20        (setAtkStateSetFromCoreObject):
     21        * html/HTMLAttributeNames.in:
     22
    1232017-04-30  Joanmarie Diggs  <jdiggs@igalia.com>
    224
  • trunk/Source/WebCore/accessibility/AccessibilityObject.cpp

    r215975 r215989  
    16121612
    16131613    return getAttribute(aria_readonlyAttr).string().convertToASCIILowercase();
     1614}
     1615
     1616bool AccessibilityObject::supportsARIAAutoComplete() const
     1617{
     1618    return isARIATextControl() && hasAttribute(aria_autocompleteAttr);
     1619}
     1620
     1621String AccessibilityObject::ariaAutoCompleteValue() const
     1622{
     1623    const AtomicString& autoComplete = getAttribute(aria_autocompleteAttr);
     1624    if (equalLettersIgnoringASCIICase(autoComplete, "inline")
     1625        || equalLettersIgnoringASCIICase(autoComplete, "list")
     1626        || equalLettersIgnoringASCIICase(autoComplete, "both"))
     1627        return autoComplete;
     1628
     1629    return "none";
    16141630}
    16151631
  • trunk/Source/WebCore/accessibility/AccessibilityObject.h

    r215975 r215989  
    963963    bool supportsARIAReadOnly() const;
    964964    String ariaReadOnlyValue() const;
     965
     966    bool supportsARIAAutoComplete() const;
     967    String ariaAutoCompleteValue() const;
    965968   
    966969    bool supportsARIAAttributes() const;
  • trunk/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp

    r215988 r215989  
    400400    if (!placeholder.isEmpty())
    401401        attributeSet = addToAtkAttributeSet(attributeSet, "placeholder-text", placeholder.utf8().data());
     402
     403    if (coreObject->supportsARIAAutoComplete())
     404        attributeSet = addToAtkAttributeSet(attributeSet, "autocomplete", coreObject->ariaAutoCompleteValue().utf8().data());
    402405
    403406    if (coreObject->supportsARIAHasPopup())
     
    872875    // TODO: ATK_STATE_SENSITIVE
    873876
     877    if (coreObject->supportsARIAAutoComplete() && coreObject->ariaAutoCompleteValue() != "none")
     878        atk_state_set_add_state(stateSet, ATK_STATE_SUPPORTS_AUTOCOMPLETION);
     879
    874880    if (coreObject->isVisited())
    875881        atk_state_set_add_state(stateSet, ATK_STATE_VISITED);
  • trunk/Source/WebCore/html/HTMLAttributeNames.in

    r215929 r215989  
    1616aria-activedescendant
    1717aria-atomic
     18aria-autocomplete
    1819aria-busy
    1920aria-checked
  • trunk/Tools/ChangeLog

    r215988 r215989  
     12017-04-30  Joanmarie Diggs  <jdiggs@igalia.com>
     2
     3        [ATK] Implement support for aria-autocomplete
     4        https://bugs.webkit.org/show_bug.cgi?id=171167
     5
     6        Reviewed by Chris Fleizach.
     7
     8        Add "AXSupportsAutoCompletion" attribute so the presence of
     9        ATK_STATE_SUPPORTS_AUTOCOMPLETION can be tested.
     10
     11        * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
     12        (WTR::AccessibilityUIElement::boolAttributeValue):
     13
    1142017-04-30  Joanmarie Diggs  <jdiggs@igalia.com>
    215
  • trunk/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp

    r215988 r215989  
    11131113    if (attributeString == "AXSelected")
    11141114        return checkElementState(m_element.get(), ATK_STATE_SELECTED);
     1115    if (attributeString == "AXSupportsAutoCompletion")
     1116        return checkElementState(m_element.get(), ATK_STATE_SUPPORTS_AUTOCOMPLETION);
    11151117    if (attributeString == "AXVisited")
    11161118        return checkElementState(m_element.get(), ATK_STATE_VISITED);
Note: See TracChangeset for help on using the changeset viewer.