File:Max a11y arch.svg: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Eeejay uploaded a new version of File:Max a11y arch.svg)
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 20: Line 20:
end note
end note


interface mozAccessibleInnerProtocol {
interface MOXAccessibleProtocol {
.. Get AXChildren ..
.. Get AXChildren ..
+ {field} (NSArray*)children
+ {field} (NSArray*)children
Line 35: Line 35:
...
...
}
}
note top of mozAccessibleInnerProtocol
note top of MOXAccessibleProtocol
   A set of optional methods that map
   A set of optional methods that map
   to platform attributes and actions
   to platform attributes and actions
end note
end note


abstract class mozAccessibleBase extends mozAccessibleProtocol {
abstract class MOXAccessibleBase extends mozAccessibleProtocol {
   + (BOOL)blockSelector:(SEL)selector
   + (BOOL)blockSelector:(SEL)selector
   + (BOOL)ignoreWithParent:(mozAccessible*)parent
   + (BOOL)ignoreWithParent:(MOXAccessible*)parent
   + (BOOL)ignoreChild:(mozAccessible*)child
   + (BOOL)ignoreChild:(MOXAccessible*)child
...
...
}
}
note top of mozAccessibleBase
note top of MOXAccessibleBase
   Base class that is not Gecko specific.
   Base class that is not Gecko specific.
   Implements platform API that maps to internal protocol API.
   Implements platform API that maps to internal protocol API.
Line 52: Line 52:
end note
end note


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


mozAccessible *- AccessibleOrProxy
MOXAccessible *- AccessibleOrProxy


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


class mozColumnContainer extends mozAccessibleBase,mozAccessibleInnerProtocol
class MOXColumnContainer extends MOXAccessibleBase,MOXAccessibleProtocol


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


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


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


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


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


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

Latest revision as of 16:52, 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 MOXAccessibleProtocol {
.. 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 MOXAccessibleProtocol
  A set of optional methods that map
  to platform attributes and actions
end note

abstract class MOXAccessibleBase extends mozAccessibleProtocol {
  + (BOOL)blockSelector:(SEL)selector
  + (BOOL)ignoreWithParent:(MOXAccessible*)parent
  + (BOOL)ignoreChild:(MOXAccessible*)child
...
}
note top of MOXAccessibleBase
  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 MOXAccessible extends MOXAccessibleBase,MOXAccessibleProtocol {
  ~ {field} (AccessibleOrProxy)geckoAccessible
  ~ {field} (uint_64)geckoRole
}
note top of MOXAccessibleBase
  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 >>

MOXAccessible *- AccessibleOrProxy

class MOXSummaryAccessible extends MOXAccessible {
  + {field} (NSNumber*)expanded
}

class MOXColumnContainer extends MOXAccessibleBase,MOXAccessibleProtocol

class MOXMathSquareRootAccessible extends MOXAccessible {
  + {field} (id)mathRootRadicand
}

class MOXIncrementableAccessible extends MOXAccessible {
  + {method} performIncrement
  + {method} performDecrement
}

class MOXSelectableAccessible extends MOXAccessible {
  + {field} (NSArray*)selectedChildren
}

class MOXSelectableChildAccessible extends MOXAccessible {
  + setSelected:(NSNumber*)selected
}

class MOXTabGroupAccessible extends MOXSelectableAccessible {
  + {field} (NSArray*)tabs
}

class MOXListboxAccessible extends MOXSelectableAccessible {
  + {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: