Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Informing user of task completion



Have you filed a bug for this issue?  If not, please do so at bugreporter.apple.com.

Thanks,

James


On Nov 1, 2009, at 1:32 AM, Tomas Zahradnicky wrote:

Hi Martin,

I've faced this problem in the past and finally solved it with the following code. VO ignores the control move and does not refocus the VO cursor to another control. Try this code, it might help you.

void AU_SynchronizeVoiceOverCursorForWindow( WindowRef inWindow )
{
    //-------------------------------------------------------------------
    //  Theory: In fact, it should be sufficient to just move
    //  the control. All standard controls should do the same
    //  as Window Manager does when a window moves, that is,
    //  broadcast a kAXWindowMovedNotification notification. 
    //  This kind of notification does not work when the actual
    //  window position does not change.
    //
    //  Current state: Control Manager either does not broadcast
    //  kAXMovedNotification or it gets ignored by the VoiceOver. 
    //  
    //  Result: VoiceOver cursor overlay does not update.
    //
    //  To go around paragraph 1 limitation, we really change window
    //  bounds and return it quickly back. As a result, VoiceOver
    //  cursor sticks the original user element it was above and
    //  updates its position.
    //
    //     Author: T. Zahradnicky
    //  Cite this:
    //    @inproceedings{1427145,
    //      author = {Zahradnick\'{y}, Tom\'{a}\v{s} and L\'{o}rencz, R\'{o}bert and Musil, Pavel},
    //      title = {Making ProTools Accessible for Visually Impaired},
    //      booktitle = {ICCHP '08: Proceedings of the 11th international conference on Computers Helping People with Special Needs},
    //      year = {2008},
    //      isbn = {978-3-540-70539-0},
    //      pages = {781--788},
    //      location = {Linz, Austria},
    //      doi = {http://dx.doi.org/10.1007/978-3-540-70540-6_116},
    //      publisher = {Springer-Verlag},
    //      address = {Berlin, Heidelberg},
    //    }    
    //
    //-------------------------------------------------------------------
    Rect bounds;

    DisableScreenUpdates();
    GetWindowBounds( inWindow, kWindowContentRgn, &bounds );
    MoveWindow( inWindow, bounds.left-1, bounds.top, FALSE );
    MoveWindow( inWindow, bounds.left, bounds.top, FALSE );
    EnableScreenUpdates();
}

Best Regards,

  Tomas

Le 26 oct. 2009 à 20:56, Martin Pilkington a écrit :

Hi Patti,

After a view slides in, it seems that the VoiceOver cursor still tracks the previously pressed button. As I simply hide the controls after they have moved off screen, doing control-option-left/right will go to the first or last element in the window, so that seems to be another problem (how would you change the selected VO item in code?). But yes, users do have a way to explore the new controls in the window, but it's a case of how do you inform the user there are new controls to explore. To give a better idea of what is going on in the UI I've done a quick screencast of how the system works: http://dropbox.mcubedsw.com/regsystem.mov . As you can see, once the register button is pressed the view changes immediately, but there's only a visual indication that this has happened. And it's worse with the verify button as the change happens some time after the button was clicked, not immediately like with the register button. 

The sheet is accessible and can be fully controlled with VoiceOver, but I'm also wanting it to be user friendly, which to VoiceOver users it isn't yet.

Thanks

Martin

(Re-posted due to just hitting reply... stupid mailing list/email client/everything but me)

On 26 Oct 2009, at 6:07 pm, Patti Hoa wrote:

Hi Martin,
  If you are using NSView to hide/show the panel, then it would be best to leave it up to AppKit to determine what notifications to send (probably a combination of AX destroyed/created notifications).  In any case, right now VoiceOver is not really listening for any of those notifications.   What happens when you do control-option-left/right arrow after one of the new panel slides in.  Can VO cursor continue to land on the new UIs?  If so, users still have a way to explore the new UIs in the window.   If not, then explain in detail the behavior of VoiceOver interaction after a new panel slides in.

Patti
VoiceOver Engineer

On Oct 26, 2009, at 6:22 AM, Martin Pilkington wrote:

Hi,

I'm currently working through the accessibility of my registration system. The basic process of the system is:

1. Enter registration code and press register
2. Verification panel slides in
3. Press verify and the system checks with a server online
4. When this process has finished (be it due to success, finding a pirate code or failing to connection) the final view slides in
5. The user takes action based on the options available, in most cases just pressing OK

Now for much of the system, it's fairly straight forward in that you invoke an action and then the view changes, but with the verification, you press a button then have to wait for an undetermined time (often only 1-2 seconds). I'm wondering what the best way to inform of this completion is. I'm reluctant to put a sound in for everyone, as it often isn't a long wait, but I'd like to provide some way for visually impaired users to be informed that it is now on the last view. Would just posting an NSAccessibilityMovedNotification be the best solution (and should I technically be doing that with the other views that slide out anyway, as the button you press also slides out)?

Thanks

---------------------------------
Martin Pilkington
Writer of Weird Symbols

# Ing. Tomas Zahradnicky, Jr.
# Assistant Professor
# Department of Computer Systems
# Faculty of Information Technologies
# The Czech Technical University in Prague

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Accessibility-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/accessibility-dev/email@hidden

This email sent to email@hidden

--------------------------------------------------
James Dempsey
AppKit Engineering
Apple



 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Accessibility-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/accessibility-dev/email@hidden

This email sent to email@hidden

References: 
 >Re: Informing user of task completion (From: Tomas Zahradnicky <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.