Transcript Kelly: Hello everyone, this is Kelly Ford and I wanted to give a brief demo of a small app I've been working on for sports scores and other information. I enjoy the excitement of sports and kind of the thrill and storytelling. Yet many sports websites are difficult to use with a screen reader in some ways. Or it just takes a lot of time. So I've been exploring both AI powered development and accessibility of different environments. As I often do and have been putting together a small little sports score app that I wanted to. Show. JAWS: Store 8/13/2025. Kelly: So I'm on my Windows computer. I'm going to launch a program that I just simply call scores right now. This is still what I'd consider a preview. JAWS: Sports scores, selection lists, lead selection list NFL 1/8. Kelly: So the app is fairly straightforward when you run it, you can pick a league and arrow up and down. JAWS: NBA MLB. NHL double 98. Kelly: Now all leagues are still not done, but I've been focusing so far on MLB or baseball, NFL, football and a little bit on college football. JAWS: That's the. Double 98 NHL. Kelly: 1st letter navigation is also supported, so I'm going to hit M. JAWS: MLB. Kelly: For MLB and then press enter. JAWS: Date Thursday, August 14, 2025 N 0 zero 1:05 PM EDT 110. MLB. Kelly: So now we have the scores for today. We can arrow to each score. Here. At the end, if I hit end. I have something that will show me the teams standings and news headlines. I can also use Alt P for previous day. JAWS: News headlines. 0. Date Wednesday, August 13, 2025 15118. Kelly: Or alt N for next day. We won't go forward. Now I happen to be a Brewers fan, so I'm going to hit M. JAWS: Mild. Kelly: And we see that the Brewers yesterday won 12 to 5 and it was actually twelve wins in a row. So for those who don't know. Restaurant chain here in Wisconsin named George Webb will be giving out free hamburgers. It's kind of a promotion they have of the Brewers get 12 wins in a row. We can press enter on this game now. JAWS: Game sales, game sales, game sales. Kelly: And now again arrow up and down some of this. As I said, it's a preview, so you can still use a refinement. JAWS: Record 7644. Kelly: But here we hear the Brewers record. JAWS: Pittsburgh Pirates record 5171 status title. Or. Game time Michael. Many American family in Milwaukee, WI injuries, winter reports available. Kelly: I will say right now injury reports does not go beyond this. We'll come back to Box score. Plays is perhaps the most interesting thing I've done in this app. And then hit enter. Now obviously we heard there was 672 plays. That's not accurate. That's a number that still needs to be refined. That's kind of how many entries there are in this list or tree. JAWS: Play play play 672 plays, play play, retrieval, play, play and close. Kelly: So now what I've done is you can arrow to each inning. JAWS: Zero second, closed 3rd and closed. Kelly: We can expand an inning with right Arrow's typical tree. JAWS: Top of the third of kitchen closed. Kelly: So now we hear top of the third Woodruff pitching. JAWS: Spencer always light up the right clothes. Kelly: OK, we can hear this. Batters that went on. JAWS: Looking close. Close. Kelly: We can expand a batter. JAWS: 5180967200. Kelly: We heard a little bit of information there. We heard about the pitch a ball. The type of pitch and then we heard 2 numbers. JAWS: 67200. Kelly: So these numbers refer to. Kind of where the ball was in an XY coordinate sort of system when the pitch crossed the. Really. The numbers go left to right, low to high. And then low to high. In the vertical position, this one's a little bit you got to put it in reverse. The lower the number, the higher the number, the lower in the strike zone it is. So a pitch that say was at one, one that be out of the strike zone would be in the upper. Left. Kind of a couple cool things here I can hit. Alt P. And I get a tone. About where that pitch was, the length kind of is the reflects the speed and then the kind of pitch. JAWS: 5180967200. Kelly: The other thing I can do is hit Alt S and I can hear all the sequences of this batter. So there was 5 pitches. JAWS: Open. Kelly: And it says he walked. JAWS: 67200. Kelly: And if we want to study this. JAWS: 289 MPH color 100 seven 204. 192O6138160. Kelly: I can keep arrowing. JAWS: For all 390406892195493M18111214. Kelly: So we can hear a lot of these were kind of low. Again, so Alt P to play any pitch. Alt S for the sequence. I can also press shift F-10. And it repeats this play pitch audio. JAWS: Open pit explorer. Kelly: And we also have something that says open Pitch Explorer. JAWS: Leaving menus, what stores available exploration exploration strikes on the same dialog? Which exploration center exploration, close exploration, exploration center, zone exploration, exploration Center, strike zone, left button. Kelly: Little bit of chattiness, I still need to eliminate, but now we have buttons. JAWS: Right. Like. Kelly: Where you can kind of get a sense. JAWS: Strike Zone Zone Center left. Flight Zone Center center. Button. Kelly: And get a sense of where different sounds are going to be. JAWS: Like. Kelly: And then there's some sample pitch sequences just taken from games. Escape will back us up at any point. JAWS: Please please please. Like an enclosed game sales game sales list, box game tale displays 12/20. Kelly: From this game details, we can also go to standings. JAWS: No data available, injuries, broadcasts, no data available. News. Kelly: I can go enter on news. JAWS: The tail dialogue, one to five to extend their win streak 12 games. Kelly: So when you hear direct hit like that, that's a story directly related to the game. JAWS: Rookie rolling with Reapers with straight victory. Kelly: Then this is just a new story as well. JAWS: Fantasy baseball card. Kelly: If you press enter on any of these headlines, the story would open up in your default browser. JAWS: News headlines are equal game specific. Kelly: And we can back up. JAWS: Late Thursday. Teams. Kelly: Now we can go to the teams entry. We're back at the scores level and we can hit enter on teams. JAWS: MLB teams Dialog Ally team List Box Alley teams Toronto Blue Jay 7051105, Boston Red Sox. 6/6. 5-6. Kelly: This gives you the standings for the team. We hit shift tab. JAWS: At least tab, at least, tab Central Tab, Central tab allows tap tap central tab. Tab. Kelly: I'm working on figuring out why these tabs are reading twice. Again, this is a preview. JAWS: Feeding. Central team spots central teams Milwaukee 47644. 105. Kelly: So this is kind of the teams view and here we get the record if we press enter on a team. JAWS: MLB teams available 7644 walkthrough schedule Dialogue 7644 schedule schedule schedule .11515 at Cincinnati SLASH 15640. Kelly: The schedule comes up and we'll show you the next game. Home will go to the beginning of the schedule. JAWS: 2724. Kelly: End would go to the end. JAWS: Cincinnati right Slash 2018 Media American family. Kelly: And then paging keep scroll a little bit. JAWS: At all 2313, please, Washington Nationals 21. Kelly: Similar to when we had picked a score, we can press enter. JAWS: Will schedule available record 5640 Washington Nationals record 358. Kelly: And this is some of the same game details. JAWS: MLB teams available 4th date Thursday, August 14. And. Kelly: We'll go to standings. JAWS: And. Dialog at least tab, at least TAB, Central Tab, Tab Tab, Central Tab and central. Tab. Kelly: Here again we have the same bug that I need to sort out about why these are reading twice. So the table experience is kind of an interesting one in. That I've been exploring, what do how do we get table support in an application that isn't a web page and that's been an interesting thing. I'm not quite there. So then the question is what do we want a screen reader to do? I have been working to. JAWS: And those central standing tables. Kelly: Create an accessible table or that experience. It's still kind of in progress, but I think this is still quite usable. JAWS: Team team Milwaukee Brewers you view for these. 44 Two Chicago Cubs, 51. Kelly: Now I'm just erroring around the grid. JAWS: Cincinnati has L58W, Cincinnati W 64, Cincinnati Reds. Kelly: And yes, I know there's some duplication. JAWS: To the address PCs 0.525. Date Thursday August Select delete selection. Kelly: So we have this is baseball. We'll go up to NFL. JAWS: And the eighth NFL date Thursday, August 14, 2025 sports or NFL shortlists shortlist. No games found for state 1/4. Date Wednesday, August 13th date Tuesday August 12th, 2025 fourteen no game plan for state one date Sunday August 10th, 2025. Kelly: Thanks, Dave. I've just been using Alt P. JAWS: August 9th, 2025. Mid 20s. Kelly: Again, I can press enter. JAWS: Game tale game tale list box game tale List 121 Record 108, record 01. Kelly: So for football instead of plays, I have a level all the same kind of details, stats and such, but we also have drives, so here I can press enter. JAWS: Nice. Write the dialog, write summary 1956 or game. Three and three quarter 1 closed. Kelly: Now I can expand this. JAWS: Close. 15168 from HSD 35 to 7 26 or 16. Offense holding 10 years enforcement 22. Selected 13 plays, 50 yards 603. Closed. Kelly: And then here's a drive if you wanted to study it. JAWS: I would like to upload. Kelly: Or if you don't, you just arrow down to the next one. Or I can expand this. JAWS: Miss lighting. Fourteen 54110 from Middle Rush 1 Jason Recycled mid 13 one RJ. Kelly: Now all of this data is available on multiple websites already. It's just kind of not always exposed in the most accessible fashion. So I've just been spending some time using various API's to show this information. Again, preview. Still some work to be done. JAWS: Game sales date Thursday, August select lead selection list. Kelly: On any of the scores views, you can also use control G to set dates. I'm still working on making those controls read well with the screen reader. Or understanding why they don't, but they do work. It's just if you arrow up and down, you don't always hear the change, you might have to tap away and back. This is one of those cases where. When you develop an application, you're using a framework of some sort, and either it either has to directly support accessibility or you have to work around the issues. I'm building this app in Python using the Pi QT6. Application framework which seems to be fairly good for accessibility, but I've identified some issues. So if you want to try this app, download it. There's links to an issue tracker if you want to contribute. It's an open source project and as I said, I am doing most of my development through a combination of my coding and AI. Feature generation, so I hope you enjoyed the app.