File:Max a11y arch.svg: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
mNo edit summary
(Eeejay uploaded a new version of File:Max a11y arch.svg)
(No difference)

Revision as of 16:49, 26 May 2020

@startuml

left to right direction
hide empty members
skinparam shadowing false

interface mozAccessibleProtocol {
+ {field} (NSArray*)accessibilityAttributeNames
+ {field} (NSArray*)accessibilityActionNames
+ {field} (BOOL)isRoot
+ {field} ...
+ (id)accessibilityAttributeValue:(NSString*)attribute
+ (BOOL)accessibilityIsAttributeSettable:(NSString*)attribute
+ {method} ...
}
note top of mozAccessibleProtocol
  Includes methods needed to talk to
  platform and widget code.
end note

interface mozAccessibleInnerProtocol {
.. Get AXChildren ..
+ {field} (NSArray*)children
.. Get AXParent ..
+ {field} (id)parent
.. Get AXRole ..
+ {field} (NSString*)role
.. Set AXValue ..
+ setValue:(NSNumber*)value
.. Set AXFocused ..
+ setFocused:(NSNumber*)focused
.. Perform AXPress ..
+ {method} performPress
...
}
note top of mozAccessibleInnerProtocol
  A set of optional methods that map
  to platform attributes and actions
end note

abstract class mozAccessibleBase extends mozAccessibleProtocol {
  + (BOOL)blockSelector:(SEL)selector
  + (BOOL)ignoreWithParent:(mozAccessible*)parent
  + (BOOL)ignoreChild:(mozAccessible*)child
...
}
note top of mozAccessibleBase
  Base class that is not Gecko specific.
  Implements platform API that maps to internal protocol API.
  Responsible for filtering and managing ignored accessibles.
end note

class mozAccessible extends mozAccessibleBase,mozAccessibleInnerProtocol {
  ~ {field} (AccessibleOrProxy)geckoAccessible
  ~ {field} (uint_64)geckoRole
}
note top of mozAccessibleBase
  Base accessible that is associated with a Gecko accessible.
  Translates Gecko roles, states and heirarchy to platform APIs.
end note

skinparam ClassBackgroundColor<< Gecko >> MidnightBlue
skinparam ClassFontColor<< Gecko >> White
skinparam ClassStereotypeFontColor<< Gecko >> White

class AccessibleOrProxy << Gecko >>

mozAccessible *- AccessibleOrProxy

class mozSummaryAccessible extends mozAccessible {
  + {field} (NSNumber*)expanded
}

class mozColumnContainer extends mozAccessibleBase,mozAccessibleInnerProtocol

class mozMathSquareRootAccessible extends mozAccessible {
  + {field} (id)mathRootRadicand
}

class mozIncrementableAccessible extends mozAccessible {
  + {method} performIncrement
  + {method} performDecrement
}

class mozSelectableAccessible extends mozAccessible {
  + {field} (NSArray*)selectedChildren
}

class mozSelectableChildAccessible extends mozAccessible {
  + setSelected:(NSNumber*)selected
}

class mozTabGroupAccessible extends mozSelectableAccessible {
  + {field} (NSArray*)tabs
}

class mozListboxAccessible extends mozSelectableAccessible {
  + {field} (NSSttring*)orientation
}

@enduml

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current16:50, 26 May 2020Thumbnail for version as of 16:50, 26 May 20201,618 × 649 (19 KB)Eeejay (talk | contribs)
16:50, 26 May 2020Thumbnail for version as of 16:50, 26 May 20201,614 × 649 (19 KB)Eeejay (talk | contribs)Reverted to version as of 00:03, 20 May 2020 (UTC)
16:49, 26 May 2020Thumbnail for version as of 16:49, 26 May 20201,618 × 649 (19 KB)Eeejay (talk | contribs)
00:03, 20 May 2020Thumbnail for version as of 00:03, 20 May 20201,614 × 649 (19 KB)Eeejay (talk | contribs)@startuml left to right direction hide empty members skinparam shadowing false interface mozAccessibleProtocol { + {field} (NSArray*)accessibilityAttributeNames + {field} (NSArray*)accessibilityActionNames + {field} (BOOL)isRoot + {field} ... + (id)a...

The following page uses this file: