[webkit-changes] [WebKit/WebKit] c67d11: AX: meter and progress elements are ignored when -...
Tyler Wilcock
noreply at github.com
Fri Oct 21 11:02:55 PDT 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: c67d110e0c94abf105c1c472fc3a5579eb68ff69
https://github.com/WebKit/WebKit/commit/c67d110e0c94abf105c1c472fc3a5579eb68ff69
Author: Tyler Wilcock <tyler_w at apple.com>
Date: 2022-10-21 (Fri, 21 Oct 2022)
Changed paths:
A LayoutTests/accessibility/appearance-none-meter-and-progress-elements-expected.txt
A LayoutTests/accessibility/appearance-none-meter-and-progress-elements.html
M LayoutTests/platform/win/TestExpectations
M Source/WebCore/accessibility/AXObjectCache.cpp
M Source/WebCore/accessibility/AccessibilityProgressIndicator.cpp
M Source/WebCore/accessibility/AccessibilityProgressIndicator.h
Log Message:
-----------
AX: meter and progress elements are ignored when -webkit-appearance: none is set
https://bugs.webkit.org/show_bug.cgi?id=232569
rdar://problem/84885223
Reviewed by Chris Fleizach.
`-webkit-appearance:none` and the unprefixed `appearance:none` on the
`meter` and `progress` elements cause them to generate plain `RenderBlock`s instead
of `RenderMeter` and `RenderProgress` renderers. This broke accessibility for these
elements because we specifically required one of these renderer types to create an
`AccessibilityProgressIndicator`.
With this patch, that requirement has been relaxed. Now an
`AccessibilityProgressIndicator` can be created with any `RenderObject`
that is associated with an `HTMLProgressElement` or `HTMLMeterElement`,
fixing this issue. `AccessibilityProgressIndicator` doesn't use any
method specific to either `RenderMeter` or `RenderProgress`, so this
strictness was unnecessary.
New test added:
accessibility/appearance-none-meter-and-progress-elements.html
* LayoutTests/accessibility/appearance-none-meter-and-progress-elements-expected.txt: Added.
* LayoutTests/accessibility/appearance-none-meter-and-progress-elements.html: Added.
* LayoutTests/platform/win/TestExpectations: Skip new test.
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::createFromRenderer):
Refactor to remove unnecessary downcasting.
* Source/WebCore/accessibility/AccessibilityProgressIndicator.cpp:
(WebCore::AccessibilityProgressIndicator::AccessibilityProgressIndicator):
(WebCore::AccessibilityProgressIndicator::create):
(WebCore::AccessibilityProgressIndicator::valueDescription const):
(WebCore::AccessibilityProgressIndicator::valueForRange const):
(WebCore::AccessibilityProgressIndicator::maxValueForRange const):
(WebCore::AccessibilityProgressIndicator::minValueForRange const):
(WebCore::AccessibilityProgressIndicator::progressElement const):
(WebCore::AccessibilityProgressIndicator::meterElement const):
(WebCore::AccessibilityProgressIndicator::gaugeRegionValueDescription const):
(WebCore::AccessibilityProgressIndicator::element const): Deleted --
this override was not necessary.
* Source/WebCore/accessibility/AccessibilityProgressIndicator.h:
Canonical link: https://commits.webkit.org/255836@main
More information about the webkit-changes
mailing list