AX: Cancel button in search field not accessible.

<https://webkit.org/b/120322>

Source/WebCore:

Expose the cancel button that shows in an input element of
type search to accessibility.

Patch by Sam White <samuel_white@apple.com> on 2013-08-28
Reviewed by Chris Fleizach.

Test: platform/mac/accessibility/search-field-cancel-button.html

* CMakeLists.txt:
* English.lproj/Localizable.strings:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.xcodeproj/project.pbxproj:
* accessibility/AXObjectCache.cpp:
(WebCore::createFromRenderer):
* accessibility/AccessibilityAllInOne.cpp:
* accessibility/AccessibilitySearchFieldButtons.cpp: Added.
(WebCore::AccessibilitySearchFieldCancelButton::create):
(WebCore::AccessibilitySearchFieldCancelButton::AccessibilitySearchFieldCancelButton):
(WebCore::AccessibilitySearchFieldCancelButton::accessibilityDescription):
(WebCore::AccessibilitySearchFieldCancelButton::accessibilityText):
(WebCore::AccessibilitySearchFieldCancelButton::press):
(WebCore::AccessibilitySearchFieldCancelButton::computeAccessibilityIsIgnored):
* accessibility/AccessibilitySearchFieldButtons.h: Added.
* dom/Element.h:
(WebCore::Element::isSearchFieldCancelButtonElement):
* html/shadow/TextControlInnerElements.h:
* platform/LocalizedStrings.cpp:
(WebCore::AXSearchFieldCancelButtonText):
* platform/LocalizedStrings.h:
* platform/efl/LocalizedStringsEfl.cpp:
(WebCore::AXSearchFieldCancelButtonText):
* platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::AXSearchFieldCancelButtonText):
* platform/qt/LocalizedStringsQt.cpp:
(WebCore::AXSearchFieldCancelButtonText):

LayoutTests:

Make sure the cancel button that shows in an input element of
type search is accessible and actionable.

Patch by Sam White <samuel_white@apple.com> on 2013-08-28
Reviewed by Chris Fleizach.

* platform/mac/accessibility/search-field-cancel-button-expected.txt: Added.
* platform/mac/accessibility/search-field-cancel-button.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154778 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 7d7dd06a
2013-08-28 Sam White <samuel_white@apple.com>
AX: Cancel button in search field not accessible.
<https://webkit.org/b/120322>
Make sure the cancel button that shows in an input element of
type search is accessible and actionable.
Reviewed by Chris Fleizach.
* platform/mac/accessibility/search-field-cancel-button-expected.txt: Added.
* platform/mac/accessibility/search-field-cancel-button.html: Added.
2013-08-28 Ryosuke Niwa <rniwa@webkit.org>
REGRESSION(r154586): Past names map should only be used when named item is empty
This tests that the search field cancel button is exposed correctly.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS button.description is 'AXDescription: cancel'
PASS button.role is 'AXRole: AXButton'
PASS button.roleDescription is 'AXRoleDescription: button'
PASS document.getElementById('search').value is 'X'
PASS document.getElementById('search').value is ''
PASS successfullyParsed is true
TEST COMPLETE
<!DOCTYPE html>
<html>
<head>
<script src="../../../fast/js/resources/js-test-pre.js"></script>
<title>Search Field Cancel Button</title>
</head>
<body>
<input id="search" type="search" value="X">
<p id="description"></p>
<div id="console"></div>
<script>
description("This tests that the search field cancel button is exposed correctly.");
if (window.accessibilityController) {
var button = accessibilityController.accessibleElementById("search").childAtIndex(1);
shouldBe("button.description", "'AXDescription: cancel'");
shouldBe("button.role", "'AXRole: AXButton'");
shouldBe("button.roleDescription", "'AXRoleDescription: button'");
// Search field has value before press.
shouldBe("document.getElementById('search').value", "'X'");
button.press();
// Search field has no value after press.
shouldBe("document.getElementById('search').value", "''");
}
</script>
<script src="../../../fast/js/resources/js-test-post.js"></script>
</body>
</html>
......@@ -980,6 +980,7 @@ set(WebCore_SOURCES
accessibility/AccessibilityRenderObject.cpp
accessibility/AccessibilityScrollbar.cpp
accessibility/AccessibilityScrollView.cpp
accessibility/AccessibilitySearchFieldButtons.cpp
accessibility/AccessibilitySpinButton.cpp
accessibility/AccessibilitySlider.cpp
accessibility/AccessibilitySVGRoot.cpp
......
2013-08-28 Sam White <samuel_white@apple.com>
AX: Cancel button in search field not accessible.
<https://webkit.org/b/120322>
Expose the cancel button that shows in an input element of
type search to accessibility.
Reviewed by Chris Fleizach.
Test: platform/mac/accessibility/search-field-cancel-button.html
* CMakeLists.txt:
* English.lproj/Localizable.strings:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.xcodeproj/project.pbxproj:
* accessibility/AXObjectCache.cpp:
(WebCore::createFromRenderer):
* accessibility/AccessibilityAllInOne.cpp:
* accessibility/AccessibilitySearchFieldButtons.cpp: Added.
(WebCore::AccessibilitySearchFieldCancelButton::create):
(WebCore::AccessibilitySearchFieldCancelButton::AccessibilitySearchFieldCancelButton):
(WebCore::AccessibilitySearchFieldCancelButton::accessibilityDescription):
(WebCore::AccessibilitySearchFieldCancelButton::accessibilityText):
(WebCore::AccessibilitySearchFieldCancelButton::press):
(WebCore::AccessibilitySearchFieldCancelButton::computeAccessibilityIsIgnored):
* accessibility/AccessibilitySearchFieldButtons.h: Added.
* dom/Element.h:
(WebCore::Element::isSearchFieldCancelButtonElement):
* html/shadow/TextControlInnerElements.h:
* platform/LocalizedStrings.cpp:
(WebCore::AXSearchFieldCancelButtonText):
* platform/LocalizedStrings.h:
* platform/efl/LocalizedStringsEfl.cpp:
(WebCore::AXSearchFieldCancelButtonText):
* platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::AXSearchFieldCancelButtonText):
* platform/qt/LocalizedStringsQt.cpp:
(WebCore::AXSearchFieldCancelButtonText):
2013-08-28 Eric Carlson <eric.carlson@apple.com>
MediaPlayerPrivateAVFoundationObjC is painting video frames under the video layer
......@@ -619,6 +619,9 @@
/* accessibility help text for play button */
"begin playback" = "begin playback";
/* accessibility description for a search field cancel button */
"cancel" = "cancel";
/* Verb stating the action that will occur when an unchecked checkbox is clicked, as used by accessibility */
"check" = "check";
......
......@@ -2254,6 +2254,8 @@ webcore_sources += \
Source/WebCore/accessibility/AccessibilityScrollbar.h \
Source/WebCore/accessibility/AccessibilityScrollView.cpp \
Source/WebCore/accessibility/AccessibilityScrollView.h \
Source/WebCore/accessibility/AccessibilitySearchFieldButtons.cpp \
Source/WebCore/accessibility/AccessibilitySearchFieldButtons.h \
Source/WebCore/accessibility/AccessibilitySlider.cpp \
Source/WebCore/accessibility/AccessibilitySlider.h \
Source/WebCore/accessibility/AccessibilitySpinButton.cpp \
......
......@@ -54,6 +54,7 @@ SOURCES += \
accessibility/AccessibilityRenderObject.cpp \
accessibility/AccessibilityScrollbar.cpp \
accessibility/AccessibilityScrollView.cpp \
accessibility/AccessibilitySearchFieldButtons.cpp \
accessibility/AccessibilitySlider.cpp \
accessibility/AccessibilitySpinButton.cpp \
accessibility/AccessibilityARIAGrid.cpp \
......
......@@ -7014,6 +7014,20 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\accessibility\AccessibilitySearchFieldButtons.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\accessibility\AccessibilitySlider.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
......@@ -19002,6 +19016,7 @@
<ClInclude Include="..\accessibility\AccessibilityRenderObject.h" />
<ClInclude Include="..\accessibility\AccessibilityScrollbar.h" />
<ClInclude Include="..\accessibility\AccessibilityScrollView.h" />
<ClInclude Include="..\accessibility\AccessibilitySearchFieldButtons.h" />
<ClInclude Include="..\accessibility\AccessibilitySlider.h" />
<ClInclude Include="..\accessibility\AccessibilitySpinButton.h" />
<ClInclude Include="..\accessibility\AccessibilitySVGRoot.h" />
......@@ -1039,6 +1039,7 @@
4150F9F212B6E0E70008C860 /* SliderThumbElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4150F9F012B6E0E70008C860 /* SliderThumbElement.cpp */; };
4157AF8012F1FB0400A8C6F5 /* MediaControlsApple.h in Headers */ = {isa = PBXBuildFile; fileRef = 4157AF7E12F1FB0400A8C6F5 /* MediaControlsApple.h */; };
4157AF8112F1FB0400A8C6F5 /* MediaControlsApple.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4157AF7F12F1FB0400A8C6F5 /* MediaControlsApple.cpp */; };
415B3A6E17CBE267000FCCE8 /* AccessibilitySearchFieldButtons.h in Headers */ = {isa = PBXBuildFile; fileRef = 415B3A6A17CBE172000FCCE8 /* AccessibilitySearchFieldButtons.h */; };
4162A450101145AE00DFF3ED /* DedicatedWorkerGlobalScope.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4162A44D101145AE00DFF3ED /* DedicatedWorkerGlobalScope.cpp */; };
4162A451101145AE00DFF3ED /* DedicatedWorkerGlobalScope.h in Headers */ = {isa = PBXBuildFile; fileRef = 4162A44E101145AE00DFF3ED /* DedicatedWorkerGlobalScope.h */; };
4162A454101145E300DFF3ED /* JSDedicatedWorkerGlobalScopeCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4162A453101145E300DFF3ED /* JSDedicatedWorkerGlobalScopeCustom.cpp */; };
......@@ -7340,6 +7341,8 @@
4150F9F012B6E0E70008C860 /* SliderThumbElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SliderThumbElement.cpp; sourceTree = "<group>"; };
4157AF7E12F1FB0400A8C6F5 /* MediaControlsApple.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaControlsApple.h; sourceTree = "<group>"; };
4157AF7F12F1FB0400A8C6F5 /* MediaControlsApple.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaControlsApple.cpp; sourceTree = "<group>"; };
415B3A6917CBE172000FCCE8 /* AccessibilitySearchFieldButtons.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilitySearchFieldButtons.cpp; sourceTree = "<group>"; };
415B3A6A17CBE172000FCCE8 /* AccessibilitySearchFieldButtons.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilitySearchFieldButtons.h; sourceTree = "<group>"; };
4162A44D101145AE00DFF3ED /* DedicatedWorkerGlobalScope.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DedicatedWorkerGlobalScope.cpp; path = workers/DedicatedWorkerGlobalScope.cpp; sourceTree = "<group>"; };
4162A44E101145AE00DFF3ED /* DedicatedWorkerGlobalScope.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DedicatedWorkerGlobalScope.h; path = workers/DedicatedWorkerGlobalScope.h; sourceTree = "<group>"; };
4162A44F101145AE00DFF3ED /* DedicatedWorkerGlobalScope.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = DedicatedWorkerGlobalScope.idl; path = workers/DedicatedWorkerGlobalScope.idl; sourceTree = "<group>"; };
......@@ -13691,6 +13694,8 @@
93C4F6E91108F9A50099D0DB /* AccessibilityScrollbar.h */,
2981CAA8131822EC00D12F2A /* AccessibilityScrollView.cpp */,
29489FC512C00F0300D83F0F /* AccessibilityScrollView.h */,
415B3A6917CBE172000FCCE8 /* AccessibilitySearchFieldButtons.cpp */,
415B3A6A17CBE172000FCCE8 /* AccessibilitySearchFieldButtons.h */,
2981CAA9131822EC00D12F2A /* AccessibilitySlider.cpp */,
0709FC4D1025DEE30059CDBA /* AccessibilitySlider.h */,
29D7BCF51444AF580070619C /* AccessibilitySpinButton.cpp */,
......@@ -21610,6 +21615,7 @@
31C0FF490E4CEFDD007D6FE5 /* DOMWebKitAnimationEvent.h in Headers */,
31C0FF4B0E4CEFDD007D6FE5 /* DOMWebKitAnimationEventInternal.h in Headers */,
A2E8AE4016A498CF006BB3AA /* DOMWebKitCSSFilterRule.h in Headers */,
415B3A6E17CBE267000FCCE8 /* AccessibilitySearchFieldButtons.h in Headers */,
A2E8AE4216A498CF006BB3AA /* DOMWebKitCSSFilterRuleInternal.h in Headers */,
31060379143281CD00ABF4BA /* DOMWebKitCSSFilterValue.h in Headers */,
3106037B143281CD00ABF4BA /* DOMWebKitCSSFilterValueInternal.h in Headers */,
......@@ -48,6 +48,7 @@
#include "AccessibilitySVGRoot.h"
#include "AccessibilityScrollView.h"
#include "AccessibilityScrollbar.h"
#include "AccessibilitySearchFieldButtons.h"
#include "AccessibilitySlider.h"
#include "AccessibilitySpinButton.h"
#include "AccessibilityTable.h"
......@@ -276,6 +277,10 @@ static PassRefPtr<AccessibilityObject> createFromRenderer(RenderObject* renderer
return AccessibilitySVGRoot::create(renderer);
#endif
// Search field buttons
if (node && node->isElementNode() && toElement(node)->isSearchFieldCancelButtonElement())
return AccessibilitySearchFieldCancelButton::create(renderer);
if (renderer->isBoxModelObject()) {
RenderBoxModelObject* cssBox = toRenderBoxModelObject(renderer);
if (cssBox->isListBox())
......
......@@ -41,6 +41,7 @@
#include "AccessibilitySVGRoot.cpp"
#include "AccessibilityScrollView.cpp"
#include "AccessibilityScrollbar.cpp"
#include "AccessibilitySearchFieldButtons.cpp"
#include "AccessibilitySlider.cpp"
#include "AccessibilityTable.cpp"
#include "AccessibilityTableCell.cpp"
......
/*
* Copyright (C) 2013 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "config.h"
#include "AccessibilitySearchFieldButtons.h"
#include "LocalizedStrings.h"
#include "RenderObject.h"
namespace WebCore {
PassRefPtr<AccessibilitySearchFieldCancelButton> AccessibilitySearchFieldCancelButton::create(RenderObject* renderer)
{
return adoptRef(new AccessibilitySearchFieldCancelButton(renderer));
}
AccessibilitySearchFieldCancelButton::AccessibilitySearchFieldCancelButton(RenderObject* renderer)
: AccessibilityRenderObject(renderer)
{
}
String AccessibilitySearchFieldCancelButton::accessibilityDescription() const
{
return AXSearchFieldCancelButtonText();
}
void AccessibilitySearchFieldCancelButton::accessibilityText(Vector<AccessibilityText>& textOrder)
{
textOrder.append(AccessibilityText(accessibilityDescription(), AlternativeText));
}
bool AccessibilitySearchFieldCancelButton::press() const
{
Node* node = this->node();
if (!node || !node->isElementNode())
return false;
Element* element = toElement(node);
// The default event handler on SearchFieldCancelButtonElement requires hover.
element->setHovered(true);
element->accessKeyAction(true);
return true;
}
bool AccessibilitySearchFieldCancelButton::computeAccessibilityIsIgnored() const
{
return accessibilityIsIgnoredByDefault();
}
} // namespace WebCore
/*
* Copyright (C) 2013 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef AccessibilitySearchFieldButtons_h
#define AccessibilitySearchFieldButtons_h
#include "AccessibilityRenderObject.h"
namespace WebCore {
class AccessibilitySearchFieldCancelButton FINAL : public AccessibilityRenderObject {
public:
static PassRefPtr<AccessibilitySearchFieldCancelButton> create(RenderObject*);
virtual String accessibilityDescription() const OVERRIDE;
virtual void accessibilityText(Vector<AccessibilityText>&) OVERRIDE;
virtual bool press() const OVERRIDE;
virtual AccessibilityRole roleValue() const OVERRIDE { return ButtonRole; }
protected:
virtual bool computeAccessibilityIsIgnored() const OVERRIDE;
private:
explicit AccessibilitySearchFieldCancelButton(RenderObject*);
};
} // namespace WebCore
#endif // AccessibilitySearchFieldButtons_h
......@@ -469,6 +469,7 @@ public:
virtual bool isInRange() const { return false; }
virtual bool isOutOfRange() const { return false; }
virtual bool isFrameElementBase() const { return false; }
virtual bool isSearchFieldCancelButtonElement() const { return false; }
virtual bool canContainRangeEndPoint() const { return true; }
......
......@@ -86,6 +86,7 @@ public:
static PassRefPtr<SearchFieldCancelButtonElement> create(Document*);
virtual void defaultEventHandler(Event*);
virtual bool isSearchFieldCancelButtonElement() const OVERRIDE { return true; }
virtual bool willRespondToMouseClickEvents() OVERRIDE;
private:
......
......@@ -604,7 +604,12 @@ String AXFileUploadButtonText()
{
return WEB_UI_STRING("file upload button", "accessibility role description for a file upload button");
}
String AXSearchFieldCancelButtonText()
{
return WEB_UI_STRING("cancel", "accessibility description for a search field cancel button");
}
String AXButtonActionVerb()
{
return WEB_UI_STRING("press", "Verb stating the action that will occur when a button is pressed, as used by accessibility");
......
......@@ -163,6 +163,7 @@ namespace WebCore {
String AXDescriptionListDetailText();
String AXFooterRoleDescriptionText();
String AXFileUploadButtonText();
String AXSearchFieldCancelButtonText();
String AXButtonActionVerb();
String AXRadioButtonActionVerb();
......
......@@ -403,6 +403,11 @@ String AXFooterRoleDescriptionText()
return String::fromUTF8("footer");
}
String AXSearchFieldCancelButtonText()
{
return String::fromUTF8("cancel");
}
String AXButtonActionVerb()
{
return String::fromUTF8("press");
......
......@@ -452,6 +452,11 @@ String AXFooterRoleDescriptionText()
return String::fromUTF8(_("footer"));
}
String AXSearchFieldCancelButtonText()
{
return String::fromUTF8(_("cancel"));
}
String AXButtonActionVerb()
{
return String::fromUTF8(_("press"));
......
......@@ -423,6 +423,12 @@ String AXDescriptionListDetailText()
return String();
}
String AXSearchFieldCancelButtonText()
{
notImplemented();
return String();
}
String AXButtonActionVerb()
{
notImplemented();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment