Sign in

gbarkerz.bsky.social

@gbarkerz.bsky.social
22 followers 10 following 67 posts
PostsRepliesMedia
gbarkerz.bsky.social @gbarkerz.bsky.social · 15/06/2025
I've just reached the Plantagenets in the amazing "The History of England" podcast. Brings back memories of when I built a sample presentation called "The Kings Are Here", which could be controlled using touch, touch with short movements, a mouse, a keyboard and a switch. youtu.be/TsnnNrIovMQ
youtu.be
A short lecture on how to remember the Kings of England from 1216 to 1485
YouTube video by BarkerHerbi
020
gbarkerz.bsky.social @gbarkerz.bsky.social · 02/06/2025
Another cool thing you can do with Accessibility Insights for Windows is programmatically interact with the UI Automation control patterns supported by the elements in your UI, in the same way a screen reader does. accessibilityinsights.io/docs/windows...
Accessibility Insights for Windows reporting that the 4 of Spades card in the Accessibility Solitaire game supports the UI Automation SelectionItem control pattern. Accessibility Insights presents a window through which all the SelectionItem control pattern functionality can be executed, including AddToSelection. The 4 of Spades card in the Accessible Solitaire game is selected.
030
gbarkerz.bsky.social @gbarkerz.bsky.social · 30/05/2025
Accessibility Insights didn't report any issues with this app's UI, but that's because the UI is completely imperceivable to Accessible Insights. A screen reader doesn't know the UI exists.
Accessibility Insights reporting the programmatic hierarchy of a fullscreen game in the background. The game shows a variety of text, buttons and other controls. Accessibility Insights reports that the main app window is a window element whose name is "Exercise your brain". That window has no child elements, so all the controls shown visually in the window are not exposed programmatically for screen readers.
040
gbarkerz.bsky.social @gbarkerz.bsky.social · 29/05/2025
Don't forget folks, in a few seconds Accessibility Insights for Windows can highlight potential issues with your app UI. Here it reports 4 nameless elements in game UI. accessibilityinsights.io/docs/windows...
Accessibility Insights for Windows reporting the programmatic representation of the UI shown in a Spider Solitaire game. It shows one ComboBox and three Buttons have no accessible names.
031
gbarkerz.bsky.social @gbarkerz.bsky.social · 29/05/2025
All I did was add a few SemanticProperties.HeadingLevel to my #dotmetmaui Accessible Solitaire app, and hey presto, the Narrator screen reader can present a list of headings in the app's Settings page. learn.microsoft.com/dotnet/maui/...
A window titled "Search Headings", showing a list titled "Search list". The left column of the list contains headings such as "Accessible Solitaire Settings", "General Game Play", and "Number of cards turned up", and the right column contains heading levels such as "Heading level 1", "Heading level 2", and "Heading level 3".
020
gbarkerz.bsky.social @gbarkerz.bsky.social · 29/05/2025
I've just fixed a bug with the accessible name of the target card piles in the #dotnetmaui Accessible Solitaire app, on three platforms. Three times the testing, three times the publishing, but only one code change required!
The Accessibility Insights for Windows tool reporting the UI hierarchy of elements in the Accessible Solitaire app. In the app, the target piles show an empty Clubs pile, a 3 of Diamonds, 2 of Hearts, and 5 of Spades. Accessibility Insights shows a group elements called "Target card piles", which contains four button elements called Clubs pile, 3 of Diamonds, 2 of Hearts, 5 of Spades.
020
gbarkerz.bsky.social @gbarkerz.bsky.social · 29/05/2025
It's interesting to consider how different screen readers announce the same UI. The #dotnetmaui Accessible Solitaire Settings page uses the Switch control and this is how the control gets announced... VoiceOver: "switch button" TalkBack: "switch" NVDA: "toggle button" Narrator: "toggle switch"
020
gbarkerz.bsky.social @gbarkerz.bsky.social · 28/05/2025
Accessible Solitaire V2.6 is now available for all of iOS, Android, and Windows! Now the in-progress game is saved when the app's closed, so the game can be continued when the app's next reopened. apps.apple.com/tr/app/acces... play.google.com/store/apps/d... apps.microsoft.com/detail/9pdft...
apps.apple.com
‎Accessible Solitaire
‎The Accessible Solitaire app has been designed to provide a fun experience for all players. For players who are blind or partially sighted, the iOS VoiceOver screen reader announces details of the ...
040
gbarkerz.bsky.social @gbarkerz.bsky.social · 22/05/2025
Goodness me. After upgrading VS/MAUI/Xcode/MacOS/iPadOS my app STILL crashes with a "No parameterless constructor" for MediaElement on my iPad. I'm absolutely out of ideas, and I can't update my Store app until I've figured this out. Hopefully I'll be more productive gardening this morning.
020
gbarkerz.bsky.social @gbarkerz.bsky.social · 21/05/2025
If there's one thing the industry still seems to struggle with (despite it hardly being rocket science), is showing text that has a reasonable contrast against its background. Here's Accessibility Insights for Web reporting 51 contrast issues on one page. accessibilityinsights.io/docs/web/ove...
Accessibility Insights for Web reporting colour contrast issues on a web page, and highlighting the related text on the page. It also reports issues relating to the page's lang attribute, a link name, and select name.
030
gbarkerz.bsky.social @gbarkerz.bsky.social · 21/05/2025
Hmm, now that the MediaElement is working in my #dotnetmaui Accessible Solitaire app, its UI appears outside the app too. If I can't prevent that completely, I should at try to least to stop it when all the sound options are off in the app.
An Android phone following a swipe down from the top of the screen, showing the time and date, and the state of various system-related settings. Also shown is a reduced media element UI, with title: "Accessible Solitaire is running", along with a progress bar and Play button.
020
gbarkerz.bsky.social @gbarkerz.bsky.social · 20/05/2025
At last! I've got sounds working in my #dotnetmaui Accessible Solitaire app. Turns out I needed to bump up the minimum supported OS. Playing the game now brings back memories of recording while shuffling playing cards at the breakfast table. play.google.com/store/apps/d...
play.google.com
Accessible Solitaire - Apps on Google Play
A solitaire game focusing on the TalkBack screen reader and zoom experiences.
020
gbarkerz.bsky.social @gbarkerz.bsky.social · 15/05/2025
A screen reader user suggested that left/right arrow key presses should move keyboard focus between dealt card piles in the #dotnetmaui Accessible Solitaire app. So what could I do but update the app? Any feedback you or people you know may have, is always welcome. apps.microsoft.com/detail/9pdft...
apps.microsoft.com
Accessible Solitaire for Windows - Free download and play on Windows | Microsoft Store
The Accessible Solitaire app has been designed to provide a fun experience for all players. For players who are blind or partially sighted, a screen reader will announce details of the playing cards ...
020
gbarkerz.bsky.social @gbarkerz.bsky.social · 14/05/2025
1/2 I'm looking forward to writing a short article sharing thoughts on developing the #dotnetmaui Accessible Solitaire for Windows app. Now that the Accessible Solitaire app is available at all of the Microsoft, Apple, and Android app stores... apps.microsoft.com/detail/9pdft...
apps.microsoft.com
Accessible Solitaire for Windows - Free download and play on Windows | Microsoft Store
The Accessible Solitaire app has been designed to provide a fun experience for all players. For players who are blind or partially sighted, a screen reader will announce details of the playing cards ...
110
gbarkerz.bsky.social @gbarkerz.bsky.social · 13/05/2025
Hmm, according to the Apple analytics, the published iOS Accessible Solitaire app is crashing on average a couple of times per day. So I really need to sort this out. It's time I learned how to include debug symbols in the published app and then figure out what to do with the resulting data.
010
gbarkerz.bsky.social @gbarkerz.bsky.social · 11/05/2025
A few notes on my #dotnetmaui dev setup: www.linkedin.com/pulse/one-se...
linkedin.com
One setup for building an app for all of Windows, iOS, and Android
I was asked about my setup for building #dotnetmaui apps, so here are some thoughts on that. As far a dev setup goes, for historical reasons I'm Windows through and through.
010
gbarkerz.bsky.social @gbarkerz.bsky.social · 10/05/2025
And going back to that "Screen reader announce game state" button in the #dotnetmaui Accessible Solitaire game, this is what happens when you click it while a screen reader's running...
The NVDA screen reader's Speech Viewer reporting the announcements made by NVDA while playing a game of Accessible Solitaire. The announcements include the following:
Next card  button
Screen reader announce game state  button
space
Top upturned card is King of Spades, then King of Clubs, then Queen of Hearts.  More cards are available to turn over. Target piles, 2 of Clubs, Empty Diamonds Pile, Ace of Hearts, 2 of Spades. Pile 1, 6 of Diamonds, Pile 2, 5 of Spades to 6 of Hearts, 1 Card Face-down, Pile 3, 9 of Spades to Jack of Spades, 2 Cards Face-down, Pile 4, 8 of Spades to 10 of Spades, Pile 5, King of Diamonds, 4 Cards Face-down, Pile 6, 7 of Clubs, 5 Cards Face-down, Pile 7, 10 of Diamonds, 6 Cards Face-down.
010
gbarkerz.bsky.social @gbarkerz.bsky.social · 10/05/2025
I just tried playing Accessible Solitaire using the Windows On-Screen Keyboard with its Scan mode and Navigation layout. I think it might be possible to play the game, but I do wonder how it might be made more efficient. Unfortunately I'd say it's really difficult to see which is the active OSK key.
The Accessible Solitaire game with keyboard focus around the Ace of Hearts in the Hearts target card pile. Above the app is the Windows On-Screen Keyboard showing its horizontal navigation layout with 12 navigation-related keys. The OSK's Scan mode feedback is around the first 3 keys in the OSK, those being Tab, Enter, and Space.
010
gbarkerz.bsky.social @gbarkerz.bsky.social · 10/05/2025
Ok, you can use Accessibility Insights to check your #dotnetmaui Windows app's UIA hierarchy, properties, patterns and events, and know if that's all good, then that's encouraging for your iOS and Android apps too. But what does all that stuff mean? Check this out: www.youtube.com/watch?v=5m4g...
youtube.com
Introduction to UIA - At a Glance
YouTube video by MSFTEnable
110
gbarkerz.bsky.social @gbarkerz.bsky.social · 10/05/2025
The touchpad on my laptop has finally given up the ghost, such that I can no longer click and drag with it. So I'm relying on the keyboard more than ever. I've just discovered I can crop a picture in the Photos app using only the keyboard. Thank you Photos app team! #Windows11 #accessibility
A photo of a collection of tree stumps, being edited in the Photos app. Keyboard focus appears around the picture, and a tooltip at the bottom of the picture says: "Drag the image or use the arrow keys to move image in crop region".
010
gbarkerz.bsky.social @gbarkerz.bsky.social · 10/05/2025
1/5 Ha! Good times! I just pointed the VS Accessibility Checker to my #dotnetmaui app's Settings page, and it reported an issue. It said I'd violated the very important rule about an element's Name not including its ControlType. Your customers really don't want to hear lots of "... button, button".
The Visual Studio Accessibility Checker tool reporting an issue with the Accessible Solitaire for Windows app. The issue relates to rule NameExcludesControlType.
110
gbarkerz.bsky.social @gbarkerz.bsky.social · 10/05/2025
My #dotnetmaui app's raising UIA FocusChanged events as I tab through the app, meaning Windows Magnifier can react by keeping the focused element in view. What's more, by pressing Ctrl+Alt+Enter, Magnifier will speak the name of the element with focus. Good. support.microsoft.com/windows/use-...
Windows Magnifier magnifying the top left portion of the Accessible Solitaire app. The Magnifier's invert colours setting is on.
010
gbarkerz.bsky.social @gbarkerz.bsky.social · 10/05/2025
When the "You've won" window appears in my #dotnetmaui Accessible Solitaire app, the NVDA Speech Viewer shows that NVDA's trying to announce the window but then one of my custom announcements comes along and stomps on the original announcement. That's no good for the player so I'll have to fix that!
The Accessible Solitaire game showing a window containing the text "Accessible Solitaire. Congratulations, you've won! Would you like to start a new game?". Next to the app is the NVDA Speech Viewer, containing the text: "Accessible Solitaire  dialog  Accessible Solitaire
Congratulations, you've won! Would you like to start a new game? Yes button Moved King of Spades, revealed Empty card pile in dealt card pile 6."
010
gbarkerz.bsky.social @gbarkerz.bsky.social · 10/05/2025
By default, I never want to set explicitly set font point/pixel sizes, rather I select something semantic like Title/Subtitle/Header. It seems that my choice that worked fine for iOS and Android, looks rather unusual in my Windows #dotnetmaui app. Something to investigate...
The Accessible Solitaire app's Setting page on Android. Each setting section starts with a setting header with a fairly large font, and contain individual settings with a slightly smaller font header which is bold.The Accessible Solitaire app's Setting page on Window. Each setting section starts with a setting header with a fairly large font, and contain individual settings with a very large font header which is bold.
010
gbarkerz.bsky.social @gbarkerz.bsky.social · 10/05/2025
Windows #dotnetmaui apps can make accessing buttons super-quick thanks to support for access keys! It's not often that the UX can be improved so much with such a tiny code change! Eg windows:VisualElement.AccessKey="C". learn.microsoft.com/dotnet/maui/...
A portion of the Settings page of the Accessible Solitaire for Windows app, which two settings sections showing, and a Close button. The letter 'C' is shown just below the Close button.
010
gbarkerz.bsky.social @gbarkerz.bsky.social · 10/05/2025
Accessible Solitaire for Windows is an exploration into keyboard efficiency, with and without a screen reader. I've a few more fixes to make before I start seeking feedback. There are so many more shortcuts I could add to support so many ways to reduce the number of steps it takes to move a card!
A screenshot from the apps.microsoft.com site, relating to the Accessible Solitaire for Windows app, including app name and brief summary.
000
gbarkerz.bsky.social @gbarkerz.bsky.social · 09/05/2025
Curiouser and curiouser! When I programmatically set focus to the Grid containing the dealt card piles, keyboard focus seems to move fine, yet it also seems that no UIA FocusChanged event is raised. As such, a screen reader is unaware of the focus change and keeps silent. Something to investigate.
Accessibility Insights for Windows reporting FocusChanged events raised by the Accessible Solitaire app. The most recent four FocusChanged events raised relate to elements named: Menu, Next card, Clubs pile, 4 of Spades.
000
gbarkerz.bsky.social @gbarkerz.bsky.social · 07/05/2025
Back in 2018 I made this video showing how a screen reader can announce the face-down card turned up following a move in solitaire, youtu.be/EDbhezpXy_g. All these years later, the Microsoft Solitaire game now also announces this. This is just the sort of thing that makes my explorations worthwhile!
youtu.be
The Sa11ytaire app for Windows 10
YouTube video by BarkerHerbi
020
gbarkerz.bsky.social @gbarkerz.bsky.social · 07/05/2025
How about that! Has there ever been an app created from a template which has so much helpful accessible information as soon as the app's created? Don't forget to localise the strings as necessary prior to shipping. learn.microsoft.com/en-us/dotnet...
A new .NET MAUI app created from a Visual Studio template. Next to the app is Accessibility Insights for Windows reporting the UI hierarchy of the app. The hierarchy includes a pane element with the following child elements: an image called "dot net bot in a hovercraft number nine", a text element called "Hello, World!", a text element called "Welcome to dot net Multi platform App UI", and a button element called "Click me". The text element called "Hello, World", has a HeadingLevel property with a value of HeadingLevel1.
121
gbarkerz.bsky.social @gbarkerz.bsky.social · 06/05/2025
Goodness me! I found the Tablet PC included in a list of Microsoft’s Most Memorably Forgettable Products. In 2009 I uploaded this video of my Herbi Writer app, with feedback like: "The kids that use the program really like it and ask if they can work with Herbi all the time." youtu.be/V9USzz1-snQ
youtu.be
Herbi Writer Introduction
YouTube video by BarkerHerbi
010
gbarkerz.bsky.social @gbarkerz.bsky.social · 01/05/2025
Now that I have a Windows version of the Accessible Solitaire app, I can use the very handy Accessibility Insights for Windows tool to call out some potential issues before I use a screen reader with the app. The UI hierarchy provided to screen readers seems to be a good semantic match for the game.
The Accessible Solitaire app running on Windows. Next to the app, the Accessibility Insights for Windows tool reports the hierarchy of UI elements that's provided to Assistive Technology like screen readers. The portion of the hierarchy shown starts with a button called "Menu" and a button called "Next card", and then three groups called "Upturned Cards", "Target card piles", and "Dealt card piles". The first two groups contain buttons whose names match the playing cards shown visually, and the third group contains a set of lists, with each list containing list items whose names match the visuals shown in the dealt card piles.
010
gbarkerz.bsky.social @gbarkerz.bsky.social · 01/05/2025
I've been making progress on the #dotnetmaui Accessible Solitaire app for Windows. Here's the app running with its dark app colours and user-selected suit colours. Lots of adjustments yet to make, but I'm looking forward to user feedback to help me prioritise the work ahead!
The Windows Accessible Solitaire game showing its dark app colours. The suit colours are selected to be Clubs: default, Diamonds: default, Hearts: pink, Spades: yellow.
010
gbarkerz.bsky.social @gbarkerz.bsky.social · 29/04/2025
I've been working on a first version of Accessible Solitaire for Windows. This is made possible of course by the handy #dotnetmaui multi-platform support. The app's not published yet, but related details are at the end of github.com/gbarkerz/Acc.... I'm really looking forward to feedback on this!
The NVDA Speech Viewer partially covering the Accessible Solitaire game. The speech viewer shows that in response to a press of the ‘m’ key, NVDA announced: “8 of Hearts in Dealt card pile 7 can be moved to Dealt card pile 3, 6 of Spades on Upturned card pile can be moved to Dealt card pile 6, 6 of Clubs in Dealt card pile 4 can be moved to Dealt card pile 6”.
010
gbarkerz.bsky.social @gbarkerz.bsky.social · 23/04/2025
I'm working on the Windows version of my #dotnetmaui Accessible Solitaire app, and I've spent soooo long not managing to style a keyboard focused CollectionView item. And perhaps I can't, github.com/dotnet/maui/.... Woe is me.
The Accessible Solitaire game running on Windows.
010
gbarkerz.bsky.social @gbarkerz.bsky.social · 16/04/2025
Sharing some thoughts around app accessibility, www.linkedin.com/pulse/net-ma.... Please spread the word on the apps, as I'm always looking for feedback to help me prioritise the work ahead.
linkedin.com
.NET MAUI Day 2025: Sharing Practical Learnings on App Accessibility
A key goal during my explorations into accessibility over the last 20 years has been to share my learnings with other app builders. This has given me the opportunity to help others consider how their ...
120
gbarkerz.bsky.social @gbarkerz.bsky.social · 11/04/2025
I've updated the Accessible Solitaire app to include new features and some fixes to the screen reader experience, github.com/gbarkerz/Acc.... I hope to write a related article next week. And to top it all, I've just noticed the ratings at the Apple Store. 1 rating of 1 star. Time to put Yazz on!
github.com
GitHub - gbarkerz/AccessibleSolitaire
Contribute to gbarkerz/AccessibleSolitaire development by creating an account on GitHub.
120
gbarkerz.bsky.social @gbarkerz.bsky.social · 04/04/2025
Like I said, I won't be offering Yellow as a suit colour until I support configurable card background colours too. Accessibility Insights reports a contrast of 1.073:1 for Yellow on White, which is far, far too low. www.w3.org/WAI/WCAG21/U..., www.w3.org/WAI/WCAG21/U...
The Accessible Solitaire app running in an iOS simulator. The colours for suits are Clubs: Yellow, Diamonds: Red, Hearts: Dark Red, Spades: Dark Yellow. The Accessibility Insights for Windows tool is reporting that the contrast value of the Yellow against the White of the card background is 1:073:1.
030
gbarkerz.bsky.social @gbarkerz.bsky.social · 01/04/2025
Smashing! With the latest #dotnetmaui Community Toolkit update, I can show the large card popup again following a long press on a card, and also show the customised tinted suit colours. learn.microsoft.com/en-us/dotnet...
The Accessible Solitaire app presenting a large popup with a close button and the contents of the 6 of Hearts. Rather than the traditional red suit colour, the content is shown in blue.
020
gbarkerz.bsky.social @gbarkerz.bsky.social · 31/03/2025
1/2 While wiring up a junction box this weekend, I wondered if UK electricians playing the #dotnetmaui Accessible Solitaire app would customise card suits to show brown, blue, green and yellow. But wait! What would www.w3.org/WAI/WCAG21/U... have to say about that?
w3.org
Understanding Success Criterion 1.4.11: Non-text Contrast | WAI | W3C
110
gbarkerz.bsky.social @gbarkerz.bsky.social · 29/03/2025
1/2 I got feedback from a local vision-related organisation suggesting my #dotnetmaui solitaire app should support long-press on a playing card to zoom the card, so I'm working on that now. But wait! What does WCAG say about timeouts? www.w3.org/TR/UNDERSTAN...
The Accessible Solitaire app running on an Android phone. The suit colours have been customised to show purple diamonds and brown spades.
110
gbarkerz.bsky.social @gbarkerz.bsky.social · 26/03/2025
1/3 I'd got myself into a bit of a bind with my very convoluted bindings. Something about it was leading to my colour tinting working on the playing cards in Debug but not Retail. However, following some very, very helpful code cleanup by @bijington.bsky.social, the tinting's now working in Release!
An in-progress game of Accessible Solitaire with black clubs, purple diamonds, red hearts, and brown spades.An in-progress game of Accessible Solitaire with slate grey clubs, purple diamonds, brown hearts, and gold spades.
120
gbarkerz.bsky.social @gbarkerz.bsky.social · 25/03/2025
Hi @thewissen.io, thanks again for the pointer to your awesome article on font generation! It looks like my SVGs aren't suited to the process. I tried converting one in inkscape before uploading it to icomoon, but haven't managed yet to generate a resizable font glyph. I'll keep experimenting!
120
gbarkerz.bsky.social @gbarkerz.bsky.social · 24/03/2025
My #dotnetmaui Settings page is unwieldy so I thought I’d tidy it up with Expanders. But Accessibility Insights reports that on Windows the interactable Header is only text from a screen reader's perspective. So I'll not be using Expanders until I can verify that it's accessible on iOS and Android.
A portion of a .NET MAUI app showing the Community Toolkit sample code results for the Expander control. It shows an interactable header of "Baboon" and an expanded area containing text relating to baboons. The Accessibility Insights for Windows tool lies in front of the app, and reports that the header is represented by a UI Automation Text element, and that the element supports no programmatic control patterns relating to interacting with the control.
020
gbarkerz.bsky.social @gbarkerz.bsky.social · 20/03/2025
1/2 I recently got some great feedback suggesting the colours shown on the Accessible Solitaire's playing cards should be customisable. So while at the #dotnetmaui event last week, I asked people how I might do that. Someone very helpfully pointed me to .NET MAUI's IconTintColorBehavior.
The Accessible Solitaire game running in the iOS simulator, showing the traditional black and red colours for Clubs and Diamonds cards respectively, blue for Hearts cards, and green for Spades cards.The Accessible Solitaire game running in the iOS simulator, showing gold for Clubs cards, purple for Diamonds cards, blue for Hearts cards, and green for Spades cards.
150
gbarkerz.bsky.social @gbarkerz.bsky.social · 19/03/2025
Hey devs! If you convey important info only through a variety of colourful shapes in your #dotnetmaui app, there's a good chance your app's going to be unusable to many people. I just downloaded a colour picker which is completely invisible to screen readers.
A .NET MAUI app showing a colour picker with various bands of colour in it, and a white circle around an area of blue in the picker. Above the picker is a filled blue rectangle containing the text "#314FED". At the top of the app is the text: "Maui.ColorPicker color picker control for .NET MAIU powered on SkiaSharp". Next to the app is the Accessibility Insights for Windows tool reporting the accessible hierarchy of the app. It shows that the blue rectangle is represented as a nameless edit element, and the colour picker is missing completely from the accessible hierarchy.
150