the value: @"High" is the priority, as in low, medium, high. The second 
parameter must be the UI element that currently has keyboard focus, this can be 
a NSView object or subclass it can also be a custom object. If you pass the 
object as nil you'll get no result. I don't know if it'll result in a crash or 
not.


On Jul 20, 2014, at 3:49 PM, Alex Hall <mehg...@icloud.com> wrote:

> This looks like what I've been searching for for a while now, thanks for 
> sharing! What is the second parameter, though? Can it be nil,or does it need 
> to be some NSView object or subclass? Also, in your demo, why provide the 
> string "Hi" instead of using the string that was passed n? I just want to be 
> sure I understand the process. Thanks again.
> On Jul 20, 2014, at 5:08 PM, Tyler Thompson <tktpianostud...@gmail.com> wrote:
> 
>> Hello, this is a tidbit for those of you interested in developing for OSX,
>> 
>>      I have dug through tons of documentation on VoiceOver accessibility and 
>> submitted several support tickets to apple for assistance and I finally 
>> wrote this function I thought I'd share with everybody:
>> 
>> -(void)speakString:(NSString *)stringToSpeak fromFocusedUIElement:(id)object
>> {
>>         NSDictionary *announcementInfo = [[NSDictionary alloc] 
>> initWithObjectsAndKeys:stringToSpeak, NSAccessibilityAnnouncementKey, 
>> @"High", NSAccessibilityPriorityKey, nil];
>>         NSAccessibilityPostNotificationWithUserInfo(object, 
>> NSAccessibilityAnnouncementRequestedNotification, announcementInfo);
>> }
>> 
>> This could easily be expanded on, for instance we could include in this 
>> function a way to tell the object that currently has keyboard focus to 
>> assure that VoiceOver always speaks the string as opposed to you having to 
>> figure it out. We could also add a NSAccessibilityLayoutChanged notification 
>> to refresh the braille display (Although in some very bizarre cases this 
>> causes VoiceOver to speak twice (once with the announcement, once for the 
>> layout change). In other cases the announcement interrupts the layout change 
>> notification or visa versa, I have yet to figure that bit out. 
>> 
>> However I felt like this code snippet could do some people good, so there it 
>> is.
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "MacVisionaries" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to macvisionaries+unsubscr...@googlegroups.com.
>> To post to this group, send email to macvisionaries@googlegroups.com.
>> Visit this group at http://groups.google.com/group/macvisionaries.
>> For more options, visit https://groups.google.com/d/optout.
> 
> --
> Have a great day,
> Alex Hall
> mehg...@icloud.com
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "MacVisionaries" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to macvisionaries+unsubscr...@googlegroups.com.
> To post to this group, send email to macvisionaries@googlegroups.com.
> Visit this group at http://groups.google.com/group/macvisionaries.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"MacVisionaries" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to macvisionaries+unsubscr...@googlegroups.com.
To post to this group, send email to macvisionaries@googlegroups.com.
Visit this group at http://groups.google.com/group/macvisionaries.
For more options, visit https://groups.google.com/d/optout.

Reply via email to