Don’t use the UIA RuntimeId property in your Find condition

This post describes how an element’s RuntimeId property is only guaranteed to not change for the lifetime of the element. So it is not appropriate for a UIA client app to try to find an element over multiple runs of a target app, via the element’s RuntimeId.   Introduction I recently had an interesting chat…


Can UIA help you build a tool for someone you know?

This post describes how you can use the Windows UI Automation API to access links presented by an app, and to programmatically invoke those links. The post encourages you to consider whether this could help you build a tool to help someone you know who finds accessing links to be a challenge.   Get creative…

2

A reminder of how to add a localized accessible name to a button – without incurring any new localization costs

I was looking at a pretty important app the other day, and considering how many of the buttons in its UI didn’t have accessible names. This problem is interesting in that it renders the app useless to many customers, and yet it can often be quick ‘n’ easy to fix.   Knowing there’s a problem…

0

Why can’t Narrator find the buttons in my HTML Windows Store app?

Hi, I had a reminder the other day about how important it is to keep both the visual and programmatic interfaces in mind, when building our apps’ UI. This time the UI related to an HTML Windows Store app, not a XAML app. At the top of Ten questions on programmatic accessibility, I asked “The…

4

Ten questions on programmatic accessibility

Hi, I’ve been thinking about a few of the questions I’ve heard over the last three months, on the subject of programmatic accessibility. Some of these questions relate to the fundamentals of accessibility which affect any apps with UI, and some would only affect app devs who build their own custom controls. I find the…


Finding the handle of the window that contains a UI Automation element

Hi, Someone asked a great UIA-related question earlier today at the UIA Forum. They pointed out that UIA has an API to get a UIA element associated with a Win32 window handle, (hwnd). This can be done by calling the ElementFromHandle() method. But what happens if you already have a UIA element, and you want…

1

Building accessible Windows Universal apps: Other important accessibility considerations

This series of posts describes how to avoid some common accessibility bugs when building Windows Universal apps. This post focuses on specific bugs which affect customers who use your app’s visuals.   Do “Other” bugs matter? I was hesitant about using the term “Other” here. “Other” might imply that these considerations are somehow less important…

0

Building accessible Windows Universal apps: Programmatic accessibility

This series of posts describes how to avoid some common accessibility bugs when building Windows Universal apps. This post focuses on bugs which affect customers who use screen readers and other assistive technology products.   How well do you really know your app’s UI? Devs work hard to deliver an app that looks exciting and…

0

Building accessible Windows Universal apps: Colors and contrast

This series of posts describes how to avoid some common accessibility bugs when building Windows Universal apps. This post focuses on bugs which affect customers who use visuals shown on the screen.   Think about what you’re getting from Design Say your UI Designer gives you some really cool-looking visuals to implement in your app….

0

Building accessible Windows Universal apps: Keyboard accessibility

This series of posts describes how to avoid some common accessibility bugs when building Windows Universal apps. This post focuses on bugs which affect customers who use the keyboard.   Introduction We’ve all seen it in the movies – the hotshot hacker is at the keyboard, with only thirty seconds to complete the mission. With…

0