[webkit-changes] [WebKit/WebKit] ef93c1: Support custom annotations for Accessibility in co...

Jack Wiig noreply at github.com
Fri Jun 9 23:54:17 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ef93c1b412c09e10975907c8fd683269eb36a413
      https://github.com/WebKit/WebKit/commit/ef93c1b412c09e10975907c8fd683269eb36a413
  Author: Jack Wiig <jhwiig at gmail.com>
  Date:   2023-06-09 (Fri, 09 Jun 2023)

  Changed paths:
    A LayoutTests/accessibility/mac/attributed-string/attributed-string-has-completion-annotation-expected.txt
    A LayoutTests/accessibility/mac/attributed-string/attributed-string-has-completion-annotation.html
    M LayoutTests/platform/mac/TestExpectations
    M Source/WebCore/PAL/pal/spi/mac/NSSpellCheckerSPI.h
    M Source/WebCore/accessibility/mac/AccessibilityObjectMac.mm
    M Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.h
    M Source/WebCore/editing/Editor.cpp
    M Source/WebCore/editing/Editor.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
    M Source/WebKit/UIProcess/mac/WebViewImpl.mm
    M Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp
    M Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h
    M Source/WebKit/WebProcess/WebCoreSupport/glib/WebEditorClientGLib.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Source/WebKit/WebProcess/WebPage/WebPage.messages.in
    M Source/WebKitLegacy/mac/WebView/WebFrame.mm
    M Source/WebKitLegacy/mac/WebView/WebHTMLView.mm
    M Tools/WebKitTestRunner/InjectedBundle/Bindings/TextInputController.idl
    M Tools/WebKitTestRunner/InjectedBundle/TextInputController.cpp
    M Tools/WebKitTestRunner/InjectedBundle/TextInputController.h

  Log Message:
  -----------
  Support custom annotations for Accessibility in composition contexts.
https://bugs.webkit.org/show_bug.cgi?id=257867
rdar://problem/110488738

Reviewed by Tyler Wilcock.

This change broadens the information that we can parse from an attributed string in a composition context.

Now, annotations (attributes that have no meaningful value, usually @YES or "1") can be conveyed.

We use this in accessibility to convey when an inline prediction is happening, so assistive technologies know not to process that text as part of the user's typing.

* LayoutTests/accessibility/mac/attributed-string/attributed-string-has-completion-annotation-expected.txt: Added.
* LayoutTests/accessibility/mac/attributed-string/attributed-string-has-completion-annotation.html: Added.
* Source/WebCore/PAL/pal/spi/mac/NSSpellCheckerSPI.h:
* Source/WebCore/accessibility/mac/AccessibilityObjectMac.mm:
(WebCore::attributedStringSetCompositionAttributes):
(WebCore::attributedStringCreate):
* Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.h:
* Source/WebCore/editing/Editor.cpp:
(WebCore::Editor::clear):
(WebCore::Editor::setComposition):
* Source/WebCore/editing/Editor.h:
(WebCore::Editor::compositionUsesCustomAnnotations const):
(WebCore::Editor::customCompositionAnnotations const):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setCompositionAsync):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _setMarkedText:underlines:highlights:selectedRange:]):
* Source/WebKit/UIProcess/mac/WebViewImpl.mm:
(WebKit::compositionAnnotations):
(WebKit::WebViewImpl::setMarkedText):
* Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageSetComposition):
* Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setCompositionForTesting):
(WebKit::WebPage::setCompositionAsync):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
* Source/WebKitLegacy/mac/WebView/WebFrame.mm:
(-[WebFrame setMarkedText:selectedRange:]):
(-[WebFrame setMarkedText:forCandidates:]):
* Source/WebKitLegacy/mac/WebView/WebHTMLView.mm:
(-[WebHTMLView setMarkedText:selectedRange:]):
* Tools/WebKitTestRunner/InjectedBundle/Bindings/TextInputController.idl:
* Tools/WebKitTestRunner/InjectedBundle/TextInputController.cpp:
(WTR::createCompositionAnnotationData):
(WTR::TextInputController::setMarkedText):
* Tools/WebKitTestRunner/InjectedBundle/TextInputController.h:

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




More information about the webkit-changes mailing list