// Copyright 2014 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef UI_ACCESSIBILITY_PLATFORM_AX_PLATFORM_NODE_H_ #define UI_ACCESSIBILITY_PLATFORM_AX_PLATFORM_NODE_H_ #include <ostream> #include <string> #include "base/component_export.h" #include "base/functional/callback.h" #include "base/lazy_instance.h" #include "build/build_config.h" #include "ui/accessibility/ax_enums.mojom-forward.h" #include "ui/accessibility/ax_mode.h" #include "ui/accessibility/platform/ax_platform_node_id.h" #include "ui/gfx/native_widget_types.h" namespace ui { class AXPlatformNodeDelegate; // AXPlatformNode is the abstract base class for an implementation of // native accessibility APIs on supported platforms (e.g. Windows, Mac OS X). // An object that wants to be accessible can derive from AXPlatformNodeDelegate // and then call AXPlatformNode::Create. The delegate implementation should // own the AXPlatformNode instance (or otherwise manage its lifecycle). class COMPONENT_EXPORT(AX_PLATFORM) AXPlatformNode { … }; } // namespace ui #endif // UI_ACCESSIBILITY_PLATFORM_AX_PLATFORM_NODE_H_