3

画像のみの NSButton がいくつかあり、完全にプログラムで設定されています。VoiceOver がこれらのボタンを読み上げると、それぞれの「チェックされていないチェックボックス」と表示されます。VoiceOver が読み上げる属性を (アクセシビリティの目的で) より説明的に設定したいのですが、タイトルが表示されるため、ボタンに title 属性を設定できません (アイコンのみを表示したい) )。

使ってみた

[self.button accessibilitySetOverrideValue:title forAttribute:NSAccessibilityDescriptionAttribute];

しかし、何も変わりませんでした。NSAccessibilityTitleAttribute、NSAccessibilityRoleDescriptionAttribute、および NSAccessibilityRoleAttribute も試しましたが、うまくいきませんでした。私は何か間違ったことをしていますか?

ありがとう。

4

2 に答える 2

4

元のコードは正しかったようですが、ボタン セル (ボタン自体ではなく) で呼び出された場合にのみ機能します。上記は次のように変更されました。

[self.button.cell accessibilitySetOverrideValue:title forAttribute:NSAccessibilityDescriptionAttribute];

タイトルはまだNSString*です。タイトルが@"Test"であるとすると、上記のコードにより、VoiceOver は「チェックされていないチェックボックスをテストします」と読み上げます。「チェックされていないチェックボックス」部分を読み取らないことがわかった唯一の方法は、他の3つの属性をクリアすることでした: NSAccessibilityTitleAttributeNSAccessibilityRoleDescriptionAttribute、およびNSAccessibilityRoleAttribute. これらのそれぞれを でオーバーライドしまし@" "た。これらのフィールドを無視するためのより洗練された解決策がある場合は、お知らせください。今のところ、これを回答済みとしてマークします。

于 2011-12-08T18:02:48.367 に答える