Tag: programming

  • How to Add Plist Entries in Xcode with VoiceOver: A Complete Guide

    Let me start this post by saying that I’m very sad that it has to exist in the first place. Such trivial thing as adding a new record to a property list file should be very easy to achieve with Voiceover. Unfortunately the reality is different; since at least Xcode 14, the interface used to edit the Plist file is almost completely inaccessible. So today I am going to show you a workaround which will hopefully make your life a little bit easier. If you wish to follow along, open your Xcode project and let’s begin.

    The problem

    VoiceOver does not read the combo boxes of the row addition interface in the standard mode, making it very difficult, if not impossible for a blind user to consciously add keys to the property lists.

    Workaround

    • Focus the root of your project (press CMD+1, then CMD+UP ARROW)
    • Press CMD+1 again to focus the Project and Target list outline view.
    • Your cursor should be placed on your app’s target (last element of the list). If that is not the case, use the DOWN ARROW to focus it.
    • Use the standard Voice Over navigation commands to find the Project editor tab chooser.
    • Interact with it and choose “Info”
    • Interact out, and go right to find the Target Info scroll area
    • Interact in. The first thing you will see is Custom macOS Application Target Properties. From what I know, the label of this tab is the same, no matter the target operating system of your application.
    • Interact in and press VO+SHIFT+M to open the contextual menu.
    • Choose “Add Row”.
    • Your cursor will be placed on a newly born element; double click VO+SHIFT+SPACE in quick succession.
    • Start typing the name of the key you want. You can type the raw key name, for example “ITSAppUsesNonExemptEncryption”. This should be converted to the correct format, if not, return to the contextual menu and choose “Ra keys and Values”
    • Press ENTER to commit the changes.
    • Move two columns right to the “Value” field.
    • Double click on the field and type in your value; for bools you can type “Y” or “N”; for a string value just type the string; same for Integers.
    • Press ENTER again to commit the change.

    Summary

    That’s a lot of steps for a seemingly simple task. Even though this workaround exists and works it is not perfect, as for example VoiceOver will not read the autocompletion for keys. How can you know the keys though? I find this website to be a rather useful resource of all the keys and their values. Plus, most documentation pages inform you of the need of inserting a key. I hope that thanks to this post you will save yourself a few hours of pain and frustration.