AX: Support methods for web apps to interact with the native accessibility APIs
authorcfleizach@apple.com <cfleizach@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 2 Aug 2010 17:14:47 +0000 (17:14 +0000)
committercfleizach@apple.com <cfleizach@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 2 Aug 2010 17:14:47 +0000 (17:14 +0000)
commit92113fbc7319ad937d22a581468a6a4383fdd429
treef24757bace949c63250d1d3cc78dc275516243d0
parente1d85c52f485ab9d460b40efa425706aa8e6214a
AX: Support methods for web apps to interact with the native accessibility APIs
https://bugs.webkit.org/show_bug.cgi?id=43005

Reviewed by David Kilzer.

.:

* GNUmakefile.am:

WebCore:

Adds a new "accessibility" object that hangs off of "window.navigator".
This accessibility object will allow web apps to interact with native accessibility APIs
to provide a richer experience (for screen reader users primarily).

Test: platform/mac/accessibility/js-accessibility.html

* Android.derived.v8bindings.mk:
* Android.jscbindings.mk:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::):
* accessibility/Accessibility.cpp: Added.
(WebCore::Accessibility::Accessibility):
(WebCore::Accessibility::~Accessibility):
(WebCore::Accessibility::disconnectFrame):
(WebCore::Accessibility::screenChanged):
(WebCore::Accessibility::elementsChanged):
(WebCore::Accessibility::screenReader):
* accessibility/Accessibility.h: Added.
(WebCore::Accessibility::create):
* accessibility/Accessibility.idl: Added.
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isScreenReaderRunning):
(WebCore::AccessibilityObject::screenReaderFocusedElement):
(WebCore::AccessibilityObject::screenReaderVersion):
* accessibility/ScreenReader.cpp: Added.
(WebCore::ScreenReader::ScreenReader):
(WebCore::ScreenReader::~ScreenReader):
(WebCore::ScreenReader::disconnectFrame):
(WebCore::ScreenReader::active):
(WebCore::ScreenReader::activeElement):
(WebCore::ScreenReader::version):
* accessibility/ScreenReader.h: Added.
(WebCore::ScreenReader::create):
* accessibility/ScreenReader.idl: Added.
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::postPlatformNotification):
* accessibility/mac/AccessibilityObjectMac.mm:
(WebCore::AccessibilityObject::isScreenReaderRunning):
(WebCore::AccessibilityObject::screenReaderFocusedElement):
(WebCore::AccessibilityObject::screenReaderVersion):
* page/Navigator.cpp:
(WebCore::Navigator::disconnectFrame):
(WebCore::Navigator::accessibility):
* page/Navigator.h:
* page/Navigator.idl:

LayoutTests:

* platform/mac/accessibility/js-accessibility-expected.txt: Added.
* platform/mac/accessibility/js-accessibility.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64471 268f45cc-cd09-0410-ab3c-d52691b4dbfc
29 files changed:
ChangeLog
GNUmakefile.am
LayoutTests/ChangeLog
LayoutTests/platform/mac/accessibility/js-accessibility-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/accessibility/js-accessibility.html [new file with mode: 0644]
WebCore/Android.derived.v8bindings.mk
WebCore/Android.jscbindings.mk
WebCore/ChangeLog
WebCore/DerivedSources.cpp
WebCore/DerivedSources.make
WebCore/GNUmakefile.am
WebCore/WebCore.gypi
WebCore/WebCore.pri
WebCore/WebCore.pro
WebCore/WebCore.vcproj/WebCore.vcproj
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/accessibility/AXObjectCache.h
WebCore/accessibility/Accessibility.cpp [new file with mode: 0644]
WebCore/accessibility/Accessibility.h [new file with mode: 0644]
WebCore/accessibility/Accessibility.idl [new file with mode: 0644]
WebCore/accessibility/AccessibilityObject.h
WebCore/accessibility/ScreenReader.cpp [new file with mode: 0644]
WebCore/accessibility/ScreenReader.h [new file with mode: 0644]
WebCore/accessibility/ScreenReader.idl [new file with mode: 0644]
WebCore/accessibility/mac/AXObjectCacheMac.mm
WebCore/accessibility/mac/AccessibilityObjectMac.mm
WebCore/page/Navigator.cpp
WebCore/page/Navigator.h
WebCore/page/Navigator.idl