[macvoiceover] Re: VoiceOver with Interface Builder, creating interfaces in your own programs now accessible

  • From: Bryan Smart <bryansmart@xxxxxxxxxxxxxx>
  • To: "macvoiceover@xxxxxxxxxxxxx" <macvoiceover@xxxxxxxxxxxxx>
  • Date: Thu, 7 Jan 2010 21:49:45 -0500

We found a workaround.

For moving objects from the library to the design surface, you must be sure 
that the main NIB document window has focus before opening the library, and not 
the design surface as most people would usually reason. Then, when you find an 
object in the scroll area of the library window that you'd like to add, you 
move the mouse cursor to the VoiceOver cursor, perform a real mouse click with 
VO-shift-space to select the object, and then press enter. When you press 
enter, an instance of the object will be added to the NIB document, and will 
show up in the outline view of the main document window. From there, you can 
move it to the panel, view, or where ever else you'd like to place it with cut 
and paste.

For editing and review, you can use the browser in the main document window to 
review the objects and containers in the NIB file if the view is set to show 
the outline. You can use cut, copy, and paste commands to move objects from one 
container to another. You can arrow through the outline table to move the 
current object focus and use the shortcut keys to open the various inspectors.

With this approach, we can add any objects that we'd like, and we can move 
those objects on to windows through cut and paste. We're still working out ways 
to arrange them in a visually appealing manner. Interface Builder has layout 
guides that can be used to lineup and reposition groups of objects. I'm 
thinking that it might be easier to place several views in to a single window, 
in order to divide the window in to logical regions. Then, we can select all of 
the controls in that region, and have them snap to a rule, such as centered. 
We'll need to experiment to see what works best.

The cool thing is that, even if all of the controls overlap each other, 
VoiceOver can navigate through them and use them just fine. SO, until we figure 
out the arrangement situation, we can still make programs that VoiceOver users 
can enjoy, though we'll need to work a little before sighted people will enjoy 
them, also.

Bryan

-----Original Message-----
From: macvoiceover-bounce@xxxxxxxxxxxxx 
[mailto:macvoiceover-bounce@xxxxxxxxxxxxx] On Behalf Of Ignasi Cambra
Sent: Thursday, January 07, 2010 7:37 PM
To: macvoiceover@xxxxxxxxxxxxx
Subject: [macvoiceover] Re: VoiceOver with Interface Builder, creating 
interfaces in your own programs now accessible

How do we use interface builder, then? Do we need to install any extra packages 
or scripts, or you actually found a way of working with what was already there?
On Jan 7, 2010, at 3:34 PM, Bryan Smart wrote:

> Hi everyone. I'm writing here to make you all aware of an exciting 
> development over on the MV-Dev Google Group that will impact all VoiceOver 
> users positively, and will impact VoiceOver users that are programmers even 
> more so.
> 
> As some of you might know, XCode is the main software development environment 
> for the Mac. It is a huge system, but the two main tools are the XCode 
> integrated development environment (where you write your code and build the 
> code in to finished programs), and Interface Builder (where you design the 
> menus, windows, and other parts of the interface that people will use to 
> operate your program). Over the last few years, the accessibility of XCode 
> has been greatly improving, and, currently, a blind programmer can operate 
> most every part of it that they would need to create programs. However, 
> Interface Builder has been a different story. Interface Builder requires that 
> programmers create the new program's interface by dragging user interface 
> objects from a library window on to a design surface that represents the 
> program's eventual interface. VoiceOver's drag and drop features weren't 
> compatible with Interface Builder, so blind programmers weren't able to add 
> user interface objects to their programs.
> 
> Recently, though, a few of us on the MV-Dev Google Group have figured out an 
> alternative approach. We're still working out some details regarding the best 
> way to arrange objects, but blind programmers on the Mac can now use 
> Interface Builder to create their program's user interface by adding objects 
> to menus and windows, can position objects on design surfaces, and can edit 
> the outlets and other programmatic connections between objects and classes in 
> their code.
> 
> Before our recent discovery, I'd searched the web extensively in the hope 
> that someone had worked out a way for blind programmers to use Interface 
> Builder, but all I saw was thread after thread on the Apple Accessibility 
> list MacVisionaries, and other forums where people had asked, but had come up 
> empty handed. I hope that those that were discouraged in the past will be 
> excited about this development, and will get involved with programming for 
> the Mac.
> 
> If you know a VoiceOver user that is interested in programming for the Mac, 
> please let them know about the MV-Dev Google Group and what is now possible. 
> Since we can now create software, complete with graphical user interfaces, 
> they should join us and get up to speed. The fact that blind coders can now 
> create applications with interfaces will undoubtedly mean that we can expect 
> to see an increasing number of software tools to improve how we use Macs.
> 
> Here is the link to the Google Group:
> 
> http://groups.google.com/group/mv-dev
> 
> If someone would repost to MacVisionaries, I'd appreciate it. My membership 
> request has been pending for over a week on that list, so I'm unable to post 
> there.
> 
> Bryan
>> 
>> Click on the link below to go to our homepage.
>> http://www.icanworkthisthing.com
>> 
>> Manage your subscription by using the web interface on the link below.
>> //www.freelists.org/list/macvoiceover
>> 
>> Users can subscribe to this list by sending email to 
>> macvoiceover-request@xxxxxxxxxxxxx
>> with 'subscribe' in the Subject field OR by logging into the Web 
>> interface at //www.freelists.org/list/macvoiceover
>> 

>
> Click on the link below to go to our homepage.
> http://www.icanworkthisthing.com
>
> Manage your subscription by using the web interface on the link below.
> //www.freelists.org/list/macvoiceover
>
> Users can subscribe to this list by sending email to  
> macvoiceover-request@xxxxxxxxxxxxx
> with 'subscribe' in the Subject field OR by logging into the Web 
> interface at //www.freelists.org/list/macvoiceover
>
>
> Click on the link below to go to our homepage.
> http://www.icanworkthisthing.com
>
> Manage your subscription by using the web interface on the link below.
> //www.freelists.org/list/macvoiceover
>
> Users can subscribe to this list by sending email to
>  macvoiceover-request@xxxxxxxxxxxxx
> with 'subscribe' in the Subject field OR by logging into the Web
> interface at //www.freelists.org/list/macvoiceover
>

Other related posts: