github pwnapplehat/iPASide v1.2.13
iPASide 1.2.13

2 hours ago

iPASide can now be used with a screen reader and the keyboard, and a build without the signer now stops instead of shipping a broken installer. Both changes were contributed by @serrebidev (#15, #16); thank you.

Screen reader and keyboard use (#15). Every control in the app was a custom-painted card or button with a mouse handler but no role and no focus node, so NVDA could only reach it by object navigation: Tab skipped every control, nothing said "button", a checkbox never said whether it was checked, and the sidebar never said which screen was selected. Now each control has one name, a role (button, check box, switch, selected option) and its state, takes the keyboard focus with Tab and Shift+Tab, and activates with Enter or Space. Keyboard focus is drawn with the same highlight as hover. Tab walks the sidebar and then the page, a collapsed "Advanced options" panel is no longer readable or focusable, text fields are named by the label above them, icon-only buttons are named by their tooltip, dialogs announce their title, and install progress announces each step. Mouse use is unchanged.

A build without the signer stops (#16). vendor\zsign.exe is not in the repository, so a fresh checkout built an installer that installed and started fine and then failed every sideload with "zsign not found". The engine build now stops and says how to build it. Release builds are unaffected.

Verified. 816 app tests and 726 engine tests pass, and the analyzer is clean. The change touches every button, so I also tested how it meets the dialogs' own Enter and Escape shortcuts: Enter or Space on a focused Cancel cancels, Enter on a focused Confirm confirms exactly once, Enter on a dialog with nothing focused still confirms, and a space typed into a text field is typed, not pressed. Two of those cases fail without the change. The contributor drove the built app with NVDA (tab order, activation, checkbox and switch state, the selected-screen announcement). I installed the built installer over 1.2.12: it verified itself, the app started and drew normally with the connected iPhone (iOS 16.7) and the signed-in Apple ID shown, one Tab press put the visible focus highlight on the first control, and the engine listed the device over USB and Wi-Fi and read its 32 installed apps.
Not verified. I did not run a screen reader myself, and I did not sideload an app with this build. If a focus or keyboard oddity shows up, please open an issue.

The installer is unsigned, so SmartScreen will warn — the SHA-256 is in SHA256SUMS.txt.

Don't miss a new iPASide release

NewReleases is sending notifications on new releases.