Swift UI and VoiceOver question

I have a question regarding SwiftUI and the preview. Is it accessible with vO? I am considering moving to Catalina, but am not sure whether it's worth a hustle. I am curious of your thoughts on the subject.
Cheers!

Forum: 

#1 The ability to make swiftUI

Club AppleVis Member

The ability to make swiftUI apps accessible is possible. But it is up to the developer of the app to ensure it works well. However I think you’re asking whether catalyst apps are accessible (the iOS apps that run on mac). The answer is by and large yes, especially if those same apps work well on iOS.

#2 Not quite

Hey. Thanks for answer. I was wondering wether Xcode's preview pane next to code editor for SwiftUI works with VoiceOver well. Some of the tutorials on swift UI talk about interacting with controls on some sort of canvas area to modify the control's properties etc.

#3 SwiftUI Preview

App Developer

I have not found the preview in Xcode to be useful using Voiceover. However, you don't need access to the preview to do the things you mentioned.
First, you can access the inspector of the element just by moving the insertion poin to the instantiation in the code editor. Also most of the properties of a UI element are set in code.
A much bigger concern than the preview to me is the accessibility of the simulator. vo accessibility seems to stay broken these days.

#4 Thanks a lot

Thanks a lot. The suggestions you made are important to me. Maybe waiting for Mac OS 15.3 is a better approach now. I need a system I can rely on.

#5 Xcode preview does not work with VoiceOver

I'm developing in Xcode 11.2 on OSX 10.15.1 and I'm totally blind. So I do not Use Interface Builder or the simulator at all. What I can do is create my UI totally in code.

Instead of using the built in Simulator in Xcode I must use an actual Mac or IOS device running voice over to test any app projects.

That being said, I did run an IOS project in the Simulator before writing this and VO did read all the UIElements in the app's main view. But I could not interact with it all. So it still needs work to use Xcode device simulator with Voice Over.

Hope this helps.

#6 Interface Builder

App Developer

IB has worked with voiceover since Xcode 4.5 and I am very comfortable using it. The simulator worked with vo for several years, but stoped working in Xcode 9. It worked briefly in 10 before it broke again. Then, vo access-ability came back in Xcode 11.2 beta 1 only to break in beta 2.
As far as SwiftUI, for serious development, I believe it would be much wiser to stay with Appkit or UIkit as they are both very stable and well documented.. It will be be a long time before SwiftUI replaces them in my opinion.

#7 How do you manage to make a nice looking UI?

IB is really great, that's for sure. But I was wondering, how to follow Human Interface Guidelines since they do not offer any scale, directions on margins etc. Visual guides are great for everybody but blind developers. Just curious.

#8 Auto Layout

App Developer

Apple seems too mean for devs to rely more on the auto layout system rather than strict metrics. Stack views make layouts much easier than they used to be.
They used to have layout guides in their human interface guide documentation, but it was really just a starting point to use. Incidentally, I still have the old pdf of the OS X human interface guidelines. The idea of a nice looking layout is rather subjective and many devs rely on designers for that. The main idea to a good layout is to make sure margins are symmetric. So, if you just use a little common since, you will probably be in pretty good shape. I've never had anything rejected.
That being said, margins from the edges of views are usually 20 points and element spacing is usually around 8 to 10 points. StackViews handle most of this now however.