Bug 1797863 - add class documentation for accessibility tree nodes. r=morgan

Differential Revision: https://phabricator.services.mozilla.com/D160583
This commit is contained in:
Michael Comella 2022-11-15 02:49:44 +00:00
parent 5563067d62
commit 7cbe6a2464
13 changed files with 56 additions and 0 deletions

View File

@ -14,6 +14,10 @@ class PresShell;
namespace a11y {
/**
* Android specific functionality for the node at a root of the accessibility
* tree: see the RootAccessible superclass for further details.
*/
class RootAccessibleWrap : public RootAccessible {
public:
RootAccessibleWrap(dom::Document* aDocument, PresShell* aPresShell);

View File

@ -42,6 +42,9 @@ namespace a11y {
class MaiHyperlink;
/**
* Atk specific functionality for an accessibility tree node that originated in
* mDoc's content process.
*
* AccessibleWrap, and its descendents in atk directory provide the
* implementation of AtkObject.
*/

View File

@ -130,6 +130,12 @@ class KeyBinding {
};
};
/**
* The base type for an accessibility tree node. Methods and attributes in this
* class are available in both the content process and the parent process.
* Overrides for these methods live primarily in LocalAccessible and
* RemoteAccessibleBase.
*/
class Accessible {
protected:
Accessible();

View File

@ -41,6 +41,11 @@ class RelatedAccIterator;
template <class Class, class... Args>
class TNotification;
/**
* An accessibility tree node that originated in a content process and
* represents a document. Tabs, in-process iframes, and out-of-process iframes
* all use this class to represent the doc they contain.
*/
class DocAccessible : public HyperTextAccessibleWrap,
public nsIDocumentObserver,
public nsSupportsWeakReference,

View File

@ -81,6 +81,9 @@ typedef nsRefPtrHashtable<nsPtrHashKey<const void>, LocalAccessible>
} \
}
/**
* An accessibility tree node that originated in mDoc's content process.
*/
class LocalAccessible : public nsISupports, public Accessible {
public:
LocalAccessible(nsIContent* aContent, DocAccessible* aDoc);

View File

@ -17,6 +17,13 @@ class PresShell;
namespace a11y {
/**
* The node at a root of the accessibility tree. This node originated in the
* current process. If this is the parent process, RootAccessible is the
* Accessible for the top-level window. If this is a content process,
* RootAccessible is a top-level content document in this process, which is
* either a tab document or an out-of-process iframe.
*/
class RootAccessible : public DocAccessibleWrap, public nsIDOMEventListener {
NS_DECL_ISUPPORTS_INHERITED

View File

@ -26,6 +26,10 @@ class DocAccessibleParent;
class RemoteAccessible;
enum class RelationType;
/**
* The base type for an accessibility tree node that originated in the parent
* process.
*/
template <class Derived>
class RemoteAccessibleBase : public Accessible, public HyperTextAccessibleBase {
public:

View File

@ -19,6 +19,10 @@
namespace mozilla {
namespace a11y {
/**
* Functionality common across Linux and macOS for an accessibility tree node
* that originated in the parent process.
*/
class RemoteAccessible : public RemoteAccessibleBase<RemoteAccessible> {
public:
RemoteAccessible(uint64_t aID, RemoteAccessible* aParent,

View File

@ -19,6 +19,10 @@
namespace mozilla {
namespace a11y {
/**
* Windows specific functionality for an accessibility tree node that originated
* in the parent process.
*/
class RemoteAccessible : public RemoteAccessibleBase<RemoteAccessible> {
public:
RemoteAccessible(uint64_t aID, RemoteAccessible* aParent,

View File

@ -29,6 +29,10 @@
namespace mozilla {
namespace a11y {
/**
* Mac specific functionality for an accessibility tree node that originated in
* mDoc's content process.
*/
class AccessibleWrap : public LocalAccessible {
public: // construction, destruction
AccessibleWrap(nsIContent* aContent, DocAccessible* aDoc);

View File

@ -18,6 +18,10 @@ class PresShell;
namespace a11y {
/**
* Mac specific functionality for the node at a root of the accessibility
* tree: see the RootAccessible superclass for further details.
*/
class RootAccessibleWrap : public RootAccessible {
public:
RootAccessibleWrap(dom::Document* aDocument, PresShell* aPresShell);

View File

@ -22,6 +22,10 @@ namespace mozilla {
namespace a11y {
class DocRemoteAccessibleWrap;
/**
* Windows specific functionality for an accessibility tree node that originated
* in mDoc's content process.
*/
class AccessibleWrap : public LocalAccessible {
public: // construction, destruction
AccessibleWrap(nsIContent* aContent, DocAccessible* aDoc);

View File

@ -14,6 +14,10 @@ class PresShell;
namespace a11y {
/**
* Windows specific functionality for the node at a root of the accessibility
* tree: see the RootAccessible superclass for further details.
*/
class RootAccessibleWrap : public RootAccessible {
public:
RootAccessibleWrap(dom::Document* aDocument, PresShell* aPresShell);