Changeset 199715 in webkit


Ignore:
Timestamp:
Apr 19, 2016 2:50:26 AM (8 years ago)
Author:
jdiggs@igalia.com
Message:

[GTK] accessibility/gtk/entry-and-password.html is failing since r194847
https://bugs.webkit.org/show_bug.cgi?id=153062

Reviewed by Carlos Garcia Campos.

Source/WebCore:

The changes in r194847 include using WebCore's rendering for the CapsLock indicator.
As a side effect, password inputs gained a TextControlInnerTextElement child from
the Shadow DOM. If we include that child in the accessibility tree, the child will
emit focus and text notifications that suggest the user is no longer in the control.
This can be especially problematic for screen reader users with key echo enabled
when typing in a password input. To fix this, prune TextControlInnerTextElement
children from the accessibility tree for ATK.

No new tests as existing coverage caught this regression. Also modified the
auto-fill-crash.html test whose expectations include the children count for
a text input.

  • accessibility/atk/AccessibilityObjectAtk.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):

LayoutTests:

The auto-fill-crash.html test has expectations which include the children
count for the text input. These expectations were incorrect for ATK where
accessible text inputs lack accessible text children.

  • accessibility/auto-fill-crash.html: Modified to take platform into account.
  • platform/gtk/TestExpectations: Unskipped entry-and-password.html.
  • platform/gtk/accessibility/auto-fill-crash-expected.txt: Added.
Location:
trunk
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r199714 r199715  
     12016-04-19  Joanmarie Diggs  <jdiggs@igalia.com>
     2
     3        [GTK] accessibility/gtk/entry-and-password.html is failing since r194847
     4        https://bugs.webkit.org/show_bug.cgi?id=153062
     5
     6        Reviewed by Carlos Garcia Campos.
     7
     8        The auto-fill-crash.html test has expectations which include the children
     9        count for the text input. These expectations were incorrect for ATK where
     10        accessible text inputs lack accessible text children.
     11
     12        * accessibility/auto-fill-crash.html: Modified to take platform into account.
     13        * platform/gtk/TestExpectations: Unskipped entry-and-password.html.
     14        * platform/gtk/accessibility/auto-fill-crash-expected.txt: Added.
     15
    1162016-04-19  Carlos Garcia Campos  <cgarcia@igalia.com>
    217
  • trunk/LayoutTests/accessibility/auto-fill-crash.html

    r198769 r199715  
    1818    if (window.accessibilityController) {
    1919        var axTextField = accessibilityController.accessibleElementById("textfield");
     20        var childrenCountExpected = accessibilityController.platformName == "atk" ? "2" : "3";
    2021        window.internals.setShowAutoFillButton(document.getElementById("textfield"), "AutoFillButtonTypeContacts");
    21         shouldBe("accessibilityController.accessibleElementById('textfield').childrenCount", "3");
     22        shouldBe("accessibilityController.accessibleElementById('textfield').childrenCount", childrenCountExpected);
    2223
    2324        // Don't crash!
     25        childrenCountExpected = accessibilityController.platformName == "atk" ? "0" : "1";
    2426        window.internals.setShowAutoFillButton(document.getElementById("textfield"), "AutoFillButtonTypeNone");
    25         shouldBe("accessibilityController.accessibleElementById('textfield').childrenCount", "1");
     27        shouldBe("accessibilityController.accessibleElementById('textfield').childrenCount", childrenCountExpected);
    2628    }
    2729
  • trunk/LayoutTests/platform/gtk/TestExpectations

    r199703 r199715  
    25232523webkit.org/b/152908 pageoverlay/overlay-small-frame-paints.html [ Failure ]
    25242524
    2525 webkit.org/b/153062 accessibility/gtk/entry-and-password.html [ Failure ]
    2526 
    25272525webkit.org/b/153602 fast/table/003.html [ Failure ]
    25282526webkit.org/b/153602 fast/text/emoji.html [ Failure ]
  • trunk/Source/WebCore/ChangeLog

    r199708 r199715  
     12016-04-19  Joanmarie Diggs  <jdiggs@igalia.com>
     2
     3        [GTK] accessibility/gtk/entry-and-password.html is failing since r194847
     4        https://bugs.webkit.org/show_bug.cgi?id=153062
     5
     6        Reviewed by Carlos Garcia Campos.
     7
     8        The changes in r194847 include using WebCore's rendering for the CapsLock indicator.
     9        As a side effect, password inputs gained a TextControlInnerTextElement child from
     10        the Shadow DOM. If we include that child in the accessibility tree, the child will
     11        emit focus and text notifications that suggest the user is no longer in the control.
     12        This can be especially problematic for screen reader users with key echo enabled
     13        when typing in a password input. To fix this, prune TextControlInnerTextElement
     14        children from the accessibility tree for ATK.
     15
     16        No new tests as existing coverage caught this regression. Also modified the
     17        auto-fill-crash.html test whose expectations include the children count for
     18        a text input.
     19
     20        * accessibility/atk/AccessibilityObjectAtk.cpp:
     21        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
     22
    1232016-04-18  Brady Eidson  <beidson@apple.com>
    224
  • trunk/Source/WebCore/accessibility/atk/AccessibilityObjectAtk.cpp

    r184213 r199715  
    2525#include "HTMLNames.h"
    2626#include "RenderText.h"
     27#include "TextControlInnerElements.h"
    2728#include <glib-object.h>
    2829
     
    9596    Node* node = renderObject->node();
    9697    if (node && node->hasTagName(HTMLNames::spanTag) && !canSetFocusAttribute() && !hasAttributesRequiredForInclusion())
     98        return IgnoreObject;
     99
     100    // If we include TextControlInnerTextElement children, changes to those children
     101    // will result in focus and text notifications that suggest the user is no longer
     102    // in the control. This can be especially problematic for screen reader users with
     103    // key echo enabled when typing in a password input.
     104    if (is<TextControlInnerTextElement>(node))
    97105        return IgnoreObject;
    98106
Note: See TracChangeset for help on using the changeset viewer.