Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(863)

Unified Diff: ui/accessibility/platform/ax_platform_node_mac.mm

Issue 2490073002: MacViews/a11y: Allow accessibility clients to focus and unfocus focusable Views. (Closed)
Patch Set: Fix test. Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/accessibility/platform/ax_platform_node_mac.mm
diff --git a/ui/accessibility/platform/ax_platform_node_mac.mm b/ui/accessibility/platform/ax_platform_node_mac.mm
index 5814956c24be36ad90145b97c913eaa8006679d0..a30b42007f0140a42d8e60c9fce9f014b3031ff2 100644
--- a/ui/accessibility/platform/ax_platform_node_mac.mm
+++ b/ui/accessibility/platform/ax_platform_node_mac.mm
@@ -382,9 +382,8 @@ void NotifyMacEvent(AXPlatformNodeCocoa* target, ui::AXEvent event_type) {
return node_->GetDelegate()->CanSetStringValue();
if ([attributeName isEqualToString:NSAccessibilityFocusedAttribute]) {
- if (ui::AXNodeData::IsFlagSet(node_->GetData().state,
- ui::AX_STATE_FOCUSABLE))
- return NO;
+ return ui::AXNodeData::IsFlagSet(node_->GetData().state,
+ ui::AX_STATE_FOCUSABLE);
}
// TODO(patricialor): Add callbacks for updating the above attributes except
@@ -393,13 +392,19 @@ void NotifyMacEvent(AXPlatformNodeCocoa* target, ui::AXEvent event_type) {
}
- (void)accessibilitySetValue:(id)value forAttribute:(NSString*)attribute {
- if ([attribute isEqualToString:NSAccessibilityValueAttribute] &&
- [value isKindOfClass:[NSString class]]) {
- node_->GetDelegate()->SetStringValue(base::SysNSStringToUTF16(value), true);
- } else if ([attribute isEqualToString:NSAccessibilitySelectedTextAttribute] &&
- [value isKindOfClass:[NSString class]]) {
- node_->GetDelegate()->SetStringValue(base::SysNSStringToUTF16(value),
- false);
+ if ([value isKindOfClass:[NSString class]]) {
+ if ([attribute isEqualToString:NSAccessibilityValueAttribute]) {
+ node_->GetDelegate()->SetStringValue(base::SysNSStringToUTF16(value),
+ true);
+ } else if ([attribute
+ isEqualToString:NSAccessibilitySelectedTextAttribute]) {
+ node_->GetDelegate()->SetStringValue(base::SysNSStringToUTF16(value),
+ false);
+ }
+ } else if ([value isKindOfClass:[NSNumber class]]) {
+ if ([attribute isEqualToString:NSAccessibilityFocusedAttribute]) {
+ node_->GetDelegate()->SetFocused([value boolValue]);
+ }
}
// TODO(patricialor): Plumb through all the other writable attributes as
« no previous file with comments | « ui/accessibility/platform/ax_platform_node_delegate.h ('k') | ui/accessibility/platform/test_ax_node_wrapper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698