diff options
Diffstat (limited to 'accessible/mac')
-rw-r--r-- | accessible/mac/MOXAccessibleProtocol.h | 3 | ||||
-rw-r--r-- | accessible/mac/mozAccessible.h | 3 | ||||
-rw-r--r-- | accessible/mac/mozAccessible.mm | 16 |
3 files changed, 20 insertions, 2 deletions
diff --git a/accessible/mac/MOXAccessibleProtocol.h b/accessible/mac/MOXAccessibleProtocol.h index e3535c1628..51ad3ccef4 100644 --- a/accessible/mac/MOXAccessibleProtocol.h +++ b/accessible/mac/MOXAccessibleProtocol.h @@ -335,6 +335,9 @@ // AXARIARelevant - (NSString* _Nullable)moxARIARelevant; +// AXPlaceholderValue +- (NSString* _Nullable)moxPlaceholderValue; + // AXMozDebugDescription - (NSString* _Nullable)moxMozDebugDescription; diff --git a/accessible/mac/mozAccessible.h b/accessible/mac/mozAccessible.h index 175e25d508..c5e3b7d4f8 100644 --- a/accessible/mac/mozAccessible.h +++ b/accessible/mac/mozAccessible.h @@ -216,6 +216,9 @@ enum CheckedState { - (NSString*)moxARIARelevant; // override +- (NSString*)moxPlaceholderValue; + +// override - (id)moxTitleUIElement; // override diff --git a/accessible/mac/mozAccessible.mm b/accessible/mac/mozAccessible.mm index aa98496511..0609cc7afc 100644 --- a/accessible/mac/mozAccessible.mm +++ b/accessible/mac/mozAccessible.mm @@ -295,7 +295,8 @@ using namespace mozilla::a11y; - (NSString*)moxRole { #define ROLE(geckoRole, stringRole, ariaRole, atkRole, macRole, macSubrole, \ - msaaRole, ia2Role, androidClass, iosIsElement, nameRule) \ + msaaRole, ia2Role, androidClass, iosIsElement, uiaControlType, \ + nameRule) \ case roles::geckoRole: \ return macRole; @@ -366,7 +367,8 @@ using namespace mozilla::a11y; } #define ROLE(geckoRole, stringRole, ariaRole, atkRole, macRole, macSubrole, \ - msaaRole, ia2Role, androidClass, iosIsElement, nameRule) \ + msaaRole, ia2Role, androidClass, iosIsElement, uiaControlType, \ + nameRule) \ case roles::geckoRole: \ if (![macSubrole isEqualToString:NSAccessibilityUnknownSubrole]) { \ return macSubrole; \ @@ -646,6 +648,16 @@ struct RoleDescrComparator { return @"additions text"; } +- (NSString*)moxPlaceholderValue { + // First, check for plaecholder HTML attribute + if (NSString* placeholder = utils::GetAccAttr(self, nsGkAtoms::placeholder)) { + return placeholder; + } + + // If no placeholder HTML attribute, check for the aria version. + return utils::GetAccAttr(self, nsGkAtoms::aria_placeholder); +} + - (id)moxTitleUIElement { MOZ_ASSERT(mGeckoAccessible); |