fix: accessibility strings

This commit is contained in:
relikd
2025-12-11 15:18:05 +01:00
parent b1ca30f914
commit ca2b3cb887
4 changed files with 11 additions and 4 deletions

View File

@@ -285,10 +285,12 @@
/// Set @c tooltip and @c accessibilityTitle of view and return self
- (instancetype)tooltip:(NSString*)tt {
self.toolTip = tt;
if (self.accessibilityLabel.length == 0)
self.accessibilityLabel = tt;
else
if ([self isKindOfClass:[NSTextField class]] && ((NSTextField*)self).editable == NO) {
// a label already shows text, so the tooltip will probably be extended information.
self.accessibilityHelp = tt;
} else {
self.accessibilityValueDescription = tt;
}
return self;
}

View File

@@ -42,6 +42,7 @@
// initial state
self.url.accessibilityLabel = lbls[0];
self.name.accessibilityLabel = lbls[1];
self.favicon.accessibilityLabel = nil; // disable `accessibilityDescription` of `RSSImageDefaultRSSIcon`
self.refreshNum.accessibilityLabel = NSLocalizedString(@"Refresh interval", nil);
self.url.delegate = controller;
self.warningButton.hidden = YES;

View File

@@ -210,7 +210,8 @@ NSUserInterfaceItemIdentifier const CustomCellRefresh = @"RefreshColumnCell";
}
self.textField.objectValue = str;
self.textField.textColor = (str.length > 1 ? [NSColor controlTextColor] : [NSColor disabledControlTextColor]);
self.textField.accessibilityLabel = (str.length > 1 ? NSLocalizedString(@"Refresh interval", nil) : nil);
self.textField.accessibilityLabel = (str.length > 0 ? NSLocalizedString(@"Refresh interval", nil) : nil);
[self.textField tooltip:(str.length == 1 ? NSLocalizedString(@"manually", nil) : nil)];
}
@end

View File

@@ -107,6 +107,9 @@
BOOL hasNet = [UpdateScheduler allowNetworkConnection];
BOOL tint = (self.unreadCountTotal > 0 && hasNet && UserPrefsBool(Pref_globalTintMenuIcon));
self.statusItem.button.image = [NSImage imageNamed:(hasNet ? RSSImageMenuBarIconActive : RSSImageMenuBarIconPaused)];
self.statusItem.button.accessibilityLabel = hasNet
? NSLocalizedString(@"RSS menu bar", nil)
: NSLocalizedString(@"RSS menu bar, paused", nil);
if (@available(macOS 11, *)) {
self.statusItem.button.image.template = !tint;