mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
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:
committed by
Marshall Greenblatt
parent
64fcfa6068
commit
816f700d3e
@ -10,6 +10,7 @@
|
||||
// for more information.
|
||||
//
|
||||
|
||||
#include "libcef_dll/cpptoc/accessibility_handler_cpptoc.h"
|
||||
#include "libcef_dll/cpptoc/render_handler_cpptoc.h"
|
||||
#include "libcef_dll/ctocpp/browser_ctocpp.h"
|
||||
#include "libcef_dll/ctocpp/drag_data_ctocpp.h"
|
||||
@ -19,6 +20,22 @@ namespace {
|
||||
|
||||
// MEMBER FUNCTIONS - Body may be edited by hand.
|
||||
|
||||
cef_accessibility_handler_t* CEF_CALLBACK render_handler_get_accessibility_handler(
|
||||
struct _cef_render_handler_t* self) {
|
||||
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||
|
||||
DCHECK(self);
|
||||
if (!self)
|
||||
return NULL;
|
||||
|
||||
// Execute
|
||||
CefRefPtr<CefAccessibilityHandler> _retval = CefRenderHandlerCppToC::Get(
|
||||
self)->GetAccessibilityHandler();
|
||||
|
||||
// Return type: refptr_same
|
||||
return CefAccessibilityHandlerCppToC::Wrap(_retval);
|
||||
}
|
||||
|
||||
int CEF_CALLBACK render_handler_get_root_screen_rect(
|
||||
struct _cef_render_handler_t* self, cef_browser_t* browser,
|
||||
cef_rect_t* rect) {
|
||||
@ -396,6 +413,8 @@ void CEF_CALLBACK render_handler_on_ime_composition_range_changed(
|
||||
// CONSTRUCTOR - Do not edit by hand.
|
||||
|
||||
CefRenderHandlerCppToC::CefRenderHandlerCppToC() {
|
||||
GetStruct()->get_accessibility_handler =
|
||||
render_handler_get_accessibility_handler;
|
||||
GetStruct()->get_root_screen_rect = render_handler_get_root_screen_rect;
|
||||
GetStruct()->get_view_rect = render_handler_get_view_rect;
|
||||
GetStruct()->get_screen_point = render_handler_get_screen_point;
|
||||
|
Reference in New Issue
Block a user