1 // Copyright 2016 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CONTENT_PUBLIC_RENDERER_RENDER_ACCESSIBILITY_H_ 6 #define CONTENT_PUBLIC_RENDERER_RENDER_ACCESSIBILITY_H_ 7 8 #include "content/common/content_export.h" 9 #include "ui/accessibility/ax_node.h" 10 #include "ui/accessibility/ax_tree_data.h" 11 #include "ui/accessibility/ax_tree_source.h" 12 13 namespace content { 14 15 // This interface exposes the accessibility tree for one RenderFrame. 16 class CONTENT_EXPORT RenderAccessibility { 17 public: 18 virtual int GenerateAXID() = 0; 19 20 // These APIs allow a page with a single EMBED element to graft an 21 // accessibility tree for the plugin content, implemented as a 22 // PluginAXTreeSource, into the page's accessibility tree. 23 virtual void SetPluginTreeSource(PluginAXTreeSource* source) = 0; 24 virtual void OnPluginRootNodeUpdated() = 0; 25 26 protected: ~RenderAccessibility()27 ~RenderAccessibility() {} 28 29 private: 30 // This interface should only be implemented inside content. 31 friend class RenderAccessibilityImpl; RenderAccessibility()32 RenderAccessibility() {} 33 }; 34 35 } // namespace content 36 37 #endif // CONTENT_PUBLIC_RENDERER_RENDER_ACCESSIBILITY_H_ 38