Accessibility/Mac2020/Draft
< Accessibility | Mac2020
Jump to navigation
Jump to search
Here is the generated one: <img src="https://www.plantuml.com/plantuml/proxy?src=https%3A%2F%2Fwiki.mozilla.org%2FAccessibility%2FMac2020%2FDraft%3Faction%3Draw">
@startuml
left to right direction
hide empty members
skinparam shadowing false
abstract class Accessible {
-- Non-virtual methods --
.. Role and generic type methods ..
+ nsRoleMapEntry* ARIARoleMap()
+ bool HasARIARole()
+ bool IsARIARole(nsAtom* aARIARole)
+ bool HasStrongARIARole()
+ bool HasGenericType(AccGenericType aType)
.. Downcasting and types checking methods ..
+ bool IsDoc()
+ DocAccessible* AsDoc()
+ bool IsHyperText()
+ HyperTextAccessible* AsHyperText()
+ bool IsImage()
{method} ...
-- Virtual methods or methods that call into virtual methods --
.. Hierarchy Getters ..
+ {abstract} Accessible* Parent()
+ {abstract} Accessible* ChildAt(uint32_t aIndex)
+ {abstract} Accessible* NextSibling()
+ {abstract} Accessible* PrevSibling()
+ {abstract} uint32_t ChildCount()
+ {abstract} int32_t IndexInParent()
+ bool HasChildren()
+ Accessible* FirstChild()
+ Accessible* LastChild()
.. Core methods ..
+ {abstract} role Role()
+ {abstract} role ARIARole()
+ {abstract} nsAtom* LandmarkRole()
+ {abstract} uint64_t State()
+ {abstract} uint64_t NativeState()
+ {abstract} ENameValueFlag Name(nsString& aName)
+ {abstract} void Value(nsString& aValue)
+ {abstract} void Help(nsString& aHelp)
+ {abstract} void Description(nsString& aDesc)
+ {abstract} void Attributes(nsTArray<Attribute>* aAttrs)
+ {abstract} nsTArray<Accessible*> RelationByType(RelationType aType)
+ {abstract} void Relations(nsTArray<RelationType>* aTypes,
nsTArray<nsTArray<Accessible*>>* aTargetSets)
+ {abstract} mozilla::a11y::GroupPos GroupPosition()
+ {abstract} void DOMNodeID(nsString& aID)
+ {abstract} void TakeFocus()
+ {abstract} Accessible* FocusedChild()
.. Selection methods ..
+ {abstract} void SelectedItems(nsTArray<Accessible*>* aSelectedItems)
+ {abstract} uint32_t SelectedItemCount()
+ {abstract} Accessible* GetSelectedItem(uint32_t aIndex)
+ {abstract} bool IsItemSelected(uint32_t aIndex)
+ {abstract} bool AddItemToSelection(uint32_t aIndex)
+ {abstract} bool RemoveItemFromSelection(uint32_t aIndex)
+ {abstract} bool SelectAll()
+ {abstract} bool UnselectAll()
+ {abstract} void SetSelected(bool aSelect)
+ {abstract} bool DoAction(uint8_t aIndex)
+ {abstract} uint8_t ActionCount()
+ {abstract} void ActionDescriptionAt(uint8_t aIndex, nsString& aDescription)
+ {abstract} void ActionNameAt(uint8_t aIndex, nsString& aName)
+ {abstract} KeyBinding AccessKey()
+ {abstract} KeyBinding KeyboardShortcut()
.. Numeric value methods ..
+ {abstract} double CurValue()
+ {abstract} bool SetCurValue(double aValue)
+ {abstract} double MinValue()
+ {abstract} double MaxValue()
+ {abstract} double Step()
.. Screen layout methods ..
+ {abstract} Accessible* ChildAtPoint(int32_t aX, int32_t aY, EWhichChildAtPoint aWhichChild)
+ {abstract} nsIntRect Bounds()
+ {abstract} nsIntRect BoundsInCSSPixels()
+ {abstract} void ScrollTo(uint32_t aScrollType)
+ {abstract} void ScrollToPoint(uint32_t aScrollType, int32_t aX, int32_t aY)
.. Doc methods (should be in doc iface?) ..
+ {abstract} void Language(nsString& aLocale)
+ {abstract} void DocType(nsString& aType)
+ {abstract} void Title(nsString& aTitle)
+ {abstract} void URL(nsString& aURL)
+ {abstract} void MimeType(nsString aMime)
+ {abstract} void URLDocTypeMimeType(nsString& aURL, nsString& aDocType, nsString& aMimeType)
-- Fields --
# uint32_t mType
# uint32_t mGenericTypes
# uint8_t mRoleMapEntryIndex;
}
class LocalAccessible extends Accessible {
-- Methods --
nsIFrame* GetFrame()
nsIContent* GetContent()
-- Fields --
# nsCOMPtr<nsIContent> mContent;
# RefPtr<DocAccessible> mDoc;
# LocalAccessible* mParent;
# nsTArray<LocalAccessible*> mChildren;
}
class RemoteAccessible extends Accessible {
-- Fields --
- nsDataHashtable<nsUint32HashKey, nsString> mStringProps
- nsDataHashtable<nsUint32HashKey, int64_t> mIntProps
- nsDataHashtable<nsUint32HashKey, double> mFloatProps
}
@enduml