in reply to Bluelupo

#FDroid ist mehr als nur ein App-Store. Und nicht nur die dort angebotenen Apps sind F/LOSS, sondern das gesamte Framework. Das macht es auch möglich, dass man sogar die "Store-App" frei wählen (android.izzysoft.de/applists/c…), eigene Repos aufsetzen, und letztere im Client hinzufügen kann. So bietet das F-Droid eigene Repo mittlerweile über 4.000 Apps, mein Repo derzeit 999, und es gibt zahlreiche weitere Repositories (android.izzysoft.de/articles/n…) – nicht einmal ich kenne sie alle…

Asking for JavaScript WebDev Accessibility help
I make games. I often have the requirement to quickly build a dialog or a window of some kind. Using native HTMl here makes sense to me, so I'm implementing a bunch of components that implement the most common features I need in my UI.
Now they have to be accessible, so read well with screen readers, and be fully keyboard navigable. This includes things like lists, tab bars, menus, etc.
So here's the problem. I have some things that need to be inside a container. A list for example. So you have the list container, and then the list items inside it.
When you tab around, I want the container to be tabbable, not the list item. So you don't tab through the list, you tab to the list, and then use the arrows to move around.
Now here's the problem. When the container is tabbable, and not the list item, when you tab to the container, it either:
* reads something like "List title section" and then nothing, not even the item you have selected. Or
* Reads all the list items at once.
Either of those are not great obviously. Ideally, I'd like it to read the list title, then list, and then the selected item.
So the way I get it to do this is by detecting when you tab/focus the list container, and then immediately set the focus to the selected list item instead.
Now this works fantastic. You can tab around, and it automatically puts you right on the list item you have selected, and it even gets read.
But somehow, when you don't just tab around, but also shift tab around, this shift tab lands you back on the list container. And that automatically moves your focus back inside the list. So effectively, once you're in a list, you're trapped.
Does anyone have an idea how to get around this without doing ugly hacks like stealing tab and shift tab and implementing tab order myself? I want to use as many native browser features as possible so if there's another way to do this, please feel free to tell me.
#HTML #JavaScript #accessibility

Pitermach reshared this.

in reply to Talon

Asking for JavaScript WebDev Accessibility help
I would say container does not have to have tabIndex set at all.
Active aka selected item should always have tabIndex="1" all other items should have tabIndex="-1" and you have to implement your own cursor handling. This technique is called rovingTabIndex. This is usefull while creating treeview, listbox, popup menu, menu bar and whatever widget where navigating around controls inside a container. See this paragraph or the whole article for more details w3.org/WAI/ARIA/apg/practices/…
in reply to Talon

Asking for JavaScript WebDev Accessibility help

You are fighting against the semantics that were provided for this purpose. If you want a listbox, build a listbox.

But, to answer your specific question, you could use a roving tabindex on your list items, so that only one of them is in the tab order at all times. Let's say the first list item has `tabindex="0"`, the list has an accessible name via `aria-label` or `aria-labelledby`, and the list is not in the tab order.

Users will tab to the first item, and the screen reader will hopefully announce the name and role of the list, plus the item they just tabbed to. When they hit Up/Down Arrow or other navigation keys, set `tabindex="-1" on the item they just came from, and `tabindex="0"` on the destination.

Note: you may need to explicitly add `role="list"` to the `<ul>`, or VoiceOver may just decide to ignore the semantics. This also may not be a good idea in general. As a point of reference, Slack's messages list uses this approach.

in reply to James Scholes

Asking for JavaScript WebDev Accessibility help
@jscholes that is what I'm trying to build. But there are no native listbox elements in HTML, and w3c suggests the roving tab index solution which works well.
Listboxes are built using normal unordered lists and list items, so you have to implement this yourself. And tabbing into the list is where my trouble was. Roving tab index does exactly what I wanted.
Unless I'm completely wrong here.
in reply to James Scholes

Asking for JavaScript WebDev Accessibility help
Once you've done all of that, though, you may as well just add `role="listbox"` to the `<ul>`, and `role="option"` to each `<li>`. The only reason Slack doesn't use a listbox role is that they need to override the accessible name of each message node, and `role="option"` apparently struggles with that in some screen readers.
in reply to Talon

Asking for JavaScript WebDev Accessibility help
Definitely not. Just saying that if you've built the underlying structure, added arrow key and other keyboard support, and written the code to manage `tabindex`, you may as well ad the listbox and option roles at that point. It will give some screen reader users more recognisable announcements than an interactive list without them, particularly for JAWS.

#XMPP Events

Last chance: Proposal submissions for #FOSDEM's Real Time communications room, by tomorrow!

A great opportunity to share what has been going on in the past year for XMPP.

github.com/FreeRTC/fosdem/blob…

#jabber #interoperability #standards #rtc #matrix

Innenministerin Faeser will alle Chatnachrichten ohne Anlass durchsuchen. Das geht aus einem Positionspapier des @bmi zur Chatkontrolle hervor, das wir veröffentlichen. Im Koalitionsvertrag steht das Gegenteil. Die Koalitionspartner und sogar die eigene Fraktion kritisieren den Vorschlag heftig. netzpolitik.org/2022/positions…
@BMI

"Out of 100 avatars I generated, 16 were topless, and in another 14 it had put me in extremely skimpy clothes... I have Asian heritage...My white female colleague got significantly fewer sexualized images. Another colleague with Chinese heritage got results similar to mine."

Incredibly important story from Melissa Heikkilä about how the viral AI avatar app Lensa repeatedly undressed her without her consent, and its grotesque fetish for Asian women.

technologyreview.com/2022/12/1…

We're excited to announce that #LAS2023 will be held in Brno, Czech Republic! Join us April 21-23 (in person or online) for talks, panels, and Q&As on all things apps. foundation.gnome.org/2022/12/1…

#LinuxAppSummit #LAS #KDE #GNOME #opensource

This entry was edited (3 years ago)

One of the most rewarding things about using open-source software is that YOU can contribute directly. Don't know how to code? Don't want to donate money? That's OK!

Our friend Dustin Krysak brilliantly compared a software project to a construction job:

“Programming is the carpenter, but you still need the architects, designers, project managers, and permit people to make a construction job come together.”

Here are 6 ways to help make a difference! blog.thunderbird.net/2022/08/h…

#OpenSource

I38
Jeremiah Ticket pushed changes to the master branch of the I38 project: github.com/stormdragon2976/I38
Added volume beep to all system volume changes.
Corrected typos for volume Jump variable.
Moved some things around in the written config file to be more consistant with placement.

The accessibility for the blind advent calendar: day 12 - Poland - expand the content warning to open the window for today!
Somehow we made it through the first half of this calendar. Thank you for all of your interactions and encouragement. It's very motivating to see how far these little posts can reach.
So I realized that all the time I have been doing this calendar, I haven't mentioned Poland, where I come from, once. Shame on me! Let's try to make it right.
Inpost is the pioneer as the provider of parcel locker technology in Poland. It's quite common to order something and, instead of requesting that the package is delivered directly to your door, have it dropped at one of the lockers which are often located quite centrally, at a post office or another place of significance in a given city, town or village.
Inpost have come up with quite a clever way of allowing blind people to open these lockers and find the right door. Not only is the app itself accessible so you can track your delivery all the way through but once your order arrives, all you have to do is go to the place where your locker is located, open the door for your parcel from within the app and read the instruction telling you which door is yours E.G. third up, sixth to the left of the touch screen. The system has become so useful for the general public that in order to become more sustainable, Inpost have begun installing screenless lockers so that everything has to be done with the app. This way, it is also possible to send a package somewhere without the need to stick a physical label on it. Other accessibility accommodations include the "easy access zone" as per the link below.
inpost.pl/en/help-easy-access-…
What are you ordering this Christmas and how is it delivered to you?
#Accessibility #Blind #AdventCalendar #Poland #Shopping

reshared this

I only recently found out that when #Derecho ripped through Ontario/Quebec this year, that this wasn't the name of the storm.

Hadn't occurred to me that this was just the name of the wind pattern until I heard it in a podcast recently.
en.wikipedia.org/wiki/Derecho

Twitter’s former head of trust and safety Yoel Roth has fled his home due to an escalation in threats due to the accusations being made against him by Musk and his cronies, which have nothing to do with reducing child sexual exploitation or child abuse material on Twitter. This is Musk using his power and influence at Twitter to organize and mobilize his base to harrass a former Twitter employee. 1/

cnn.com/2022/12/12/tech/twitte…

Ulysses 29 now lets users organize their writings into Projects 9to5mac.com/2022/12/12/ulysses…

Entschädigung für nicht eingespeisten Strom auf Höchststand
tagesschau.de/wirtschaft/energ…

Ja klar. Da schmeißen wir die Gasturbinen an weil zu wenig Strom und treiben damit den Strompreis hoch - und dann kann die deutlich günstigere Windenergie nicht eingespeist werden. Ich will gar nicht wissen, welche Sorte Lack das war. Vermutlich die fehlenden Stromtrassen, die der "Vorreiter" blockiert hat. 😖

There's a new groups system for the Fediverse called chirp.social. More info at:

➡️ chirp.social

You can join a group by following the group account. You can post to the group by @-ing the group account, which then reposts that to all its other followers

It is similar to the existing a.gup.pe system, but chirp.social allows a group manager to delete posts and ban people from the group.

It works on all Fediverse platforms including Mastodon.

#Fediverse #Mastodon

App Showcase: Tootle

"Social media can be a great way to engage with friends and family. But most of the popular services and apps track their users."

puri.sm/posts/app-showcase-too…

#librem5 #pureos #freedom

I have strong opinions on my preferred presentation framework. I have these opinions for good reasons, which I am happy to explain. If you are a conference organizer, I would ask you to give this a read, and if you aren't a conference organizer but know one, I would ask you to point them to this. Thank you!

Quick read, just 3 minutes. Boosts OK, obviously.

xahteiwi.eu/blog/2022/12/11/no…

I'm still looking for a new design and/or web development gig, ideally part-time or contract, so I can keep working on Fipamo and The Bad Space.

I'm open to full-time strategy or product management roles as long as they are remote.

I keep a profile over on my site roiskinda.cool/profile.html that has a good overview of my skills and some links to some work.

For specific questions, send me a note, and we'll go from there.