[webkit-changes] [WebKit/WebKit] c3d618: AX: Getting the selected text range for secure fie...

Tyler Wilcock noreply at github.com
Mon Dec 2 22:38:42 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c3d6184dbe8d3daa73c7c9201ce556cf81e35d3e
      https://github.com/WebKit/WebKit/commit/c3d6184dbe8d3daa73c7c9201ce556cf81e35d3e
  Author: Tyler Wilcock <tyler_w at apple.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M LayoutTests/accessibility-isolated-tree/TestExpectations
    A LayoutTests/accessibility/password-selected-text-range-expected.txt
    A LayoutTests/accessibility/password-selected-text-range.html
    A LayoutTests/platform/glib/accessibility/password-selected-text-range-expected.txt
    M LayoutTests/platform/ios/TestExpectations
    A LayoutTests/platform/ios/accessibility/password-selected-text-range-expected.txt
    M Source/WebCore/accessibility/AXCoreObject.h
    M Source/WebCore/accessibility/AccessibilityRenderObject.cpp
    M Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm
    M Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm

  Log Message:
  -----------
  AX: Getting the selected text range for secure fields always returns an invalid range, breaking text editing for some assistive technologies
https://bugs.webkit.org/show_bug.cgi?id=283933
rdar://136730209

Reviewed by Chris Fleizach.

The intention of returning an invalid range for secure fields was to prevent malicious assistive technologies from
discovering the length of a user's password. But there are already several other mechanisms they can get this information,
so this restriction makes the life of well-behaving ATs more difficult for no gain. With this commit, we allow retrieiving
the selected text range for a secure field.

* LayoutTests/accessibility-isolated-tree/TestExpectations:
The new test fails because we don't update AXPropertyName::SelectedTextRange. This will be addressed in a follow-up patch.
* LayoutTests/accessibility/password-selected-text-range-expected.txt: Added.
* LayoutTests/accessibility/password-selected-text-range.html: Added.
* LayoutTests/platform/ios/TestExpectations: Enable new test.
* LayoutTests/platform/ios/accessibility/password-selected-text-range-expected.txt: Added.
* Source/WebCore/accessibility/AXCoreObject.h:
(WebCore::AXCoreObject::shouldReturnEmptySelectedText const): Deleted.
* Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::selectedTextRange const):
* Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper browserAccessibilityDeleteTextAtCursor:]):
* Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):

Canonical link: https://commits.webkit.org/287258@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list