Basıldığında, bir "yardımcı" pencere gösteren bir düğme var.NSAccessibility zorlanıyor Odaklanmamış OS X metin alanı okumaya dikkat edin?
Bu pencere görünür ancak klavye odağı verilmez, orderFrontRegardless
aracılığıyla.
Pencerede, içinde yardımcı metin bulunan bir NSTextView
bulunur.
Görme engelli kullanıcılar için, OS X'in sesinin, görüntülendiğinde bu pencerenin metin görünümünün içeriğini hemen okumasını istiyorum. (
- (id)accessibilityAttributeValue:(NSString *)attribute
{
//The notification calls this method for attributes:
//AXRole: returns AXTextArea
//AXSharedCharacterRange: returns range of the text view
return [super accessibilityAttributeValue:attribute];
}
bildirim AXRole
sorgulamak için neden: Sonra erişilebilirlik yöntemi geçersiz NSTextView
benim alt sınıfında
NSAccessibilityPostNotification(textView, NSAccessibilityValueChangedNotification);
: Ben VoiceOver yapmak çalışılıyor
yoluyla metni okuyun NSAccessibilityRoleAttribute
) ve AXSharedCharacterRange
(NSAccessibilitySharedCharacterRangeAttribute
).
Karakter aralığı, metin alanının aralığını doğru olarak döndürür. Bununla birlikte, hiçbir noktada AXValue
(NSAccessibilityValueAttribute
) istenmemektedir. Bu, VoiceOver'ın metin alanını okuması istendiğinde beklemem gerektiğidir.
NSAccessibilityValueChangedNotification
neden TextView'ın NSAccessibilityValueAttribute
nu istemiyor? VoiceOver'ı metin alanının metnini nasıl okurum?