Implement accessibility enhancements (issue #1217)

- Add new CefBrowserHost::SetAccessibilityState method for toggling
  accessibility state when readers are detected by the client.
- Add new CefAccessibilityHandler interface for the delivery of
  accessibility notifications to windowless (OSR) clients.
- Fix delivery of CefFocusHandler callbacks to windowless clients.
- cefclient: Add example windowless accessibility implementation on Windows and macOS.
- cefclient: Automatically detect screen readers on Windows and macOS.
This commit is contained in:
Nishant Kaushik
2017-05-12 18:28:25 +00:00
committed by Marshall Greenblatt
parent 64fcfa6068
commit 816f700d3e
51 changed files with 3476 additions and 8 deletions

View File

@ -40,6 +40,7 @@
#include <vector>
#include "include/cef_accessibility_handler.h"
#include "include/cef_base.h"
#include "include/cef_browser.h"
#include "include/cef_drag_data.h"
@ -57,6 +58,15 @@ class CefRenderHandler : public virtual CefBaseRefCounted {
typedef cef_paint_element_type_t PaintElementType;
typedef std::vector<CefRect> RectList;
///
// Return the handler for accessibility notifications. If no handler is
// provided the default implementation will be used.
///
/*--cef()--*/
virtual CefRefPtr<CefAccessibilityHandler> GetAccessibilityHandler() {
return NULL;
}
///
// Called to retrieve the root window rectangle in screen coordinates. Return
// true if the rectangle was provided.