reshared this
reshared this
Interesting, when a modal dialog (nested within a `<main>` element or some sectioning content) opens in Chrome it seems to disregard its context, so elements like `<header>` and `<footer>` will have `banner` and `contentinfo` roles as if they were scoped to `<body>`. When opened non-modally, they have `sectionheader` and `sectionfooter` (new ARIA roles + mapping) which means that it is computing the roles based on the dialog’s context.
Safari and Firefox keep the context is both scenarios (i.e. modal and non-modal). I have no idea what is correct. Need to read more.
Anyway, here’s a playground for the bug: knowler.dev/demos/MR4JmQW
Demonstrates a browser inconsistency for the computed ARIA roles of header + footer within a modal dialog.knowler.dev
Peter Vágner reshared this.
Typst 0.14 is out now. With accessibility by default, PDFs as images, character-level justification, and more, it has everything you need to move from draft to...Typst
like this
reshared this
Good news! It's getting harder to keep track of new #chatmail relays :)
Recently several public relays were added to the chatmail.at/relays list, in Warsaw, Helsinki, Romania and Barcelona.🧡
If you have #deltachat installed on mobile, you can go to any chatmail relay website in the list and click on a link there to create a chat profile.
It's wonderful to hear about collectives setting up chat infrastructure like the recent xat.fedi.cat from @fedicat and @eXOfasia
Chatmail provides FOSS infrastructure for interoperable, secure, speedy and reliable end-to-end encrypted messaging. Check out clients as Arcane Chat, Bots or Delta Chat today!chatmail.at
Peter Vágner likes this.
Peter Vágner reshared this.
reshared this
Peter Vágner reshared this.
Peter Vágner reshared this.
Zach Bennoui reshared this.
For a few years I've been aware of this website that purports to be able to unlock shopping cart wheels using the speaker on your phone, but i finally had an excuse to try and and i remembered in the moment.
A woman was outside the grocery store struggling to move her shopping car that was stuck because two of the wheels were locked
I remembered the website! So I put my phone near the wheels and played the sound. The wheels unlocked like magic. She was very happy. So cool.
ondrosik likes this.
reshared this
🎧 Meet the new Zoom PodTrak P4next! The all-in-one portable podcast recorder designed to make your show sound broadcast-ready from day one.Whether you’re s...YouTube
reshared this
I have a rather peculiar #Android problem.
- I use personalDNSfilter (zenz-solutions.de/personaldnsf…) to block ads system-wide. It's basically like running a local pi-hole using a local VPN.
- I would also like to use Orbot (#Tor) and run some apps (specifically Nextcloud) that don't natively support proxying through Orbot's VPN.
The problem is, Android won't let me run two VPNs at the same time. And blocking ads without a VPN would require rooting my phone, which I don't want to do. However:
- personalDNSfilter can expose the DNS server on port 5300 without using the VPN (which is useless in itself).
- Orbot can expose its HTTP and SOCKS proxy without using the VPN (which is also useless in itself).
Is there some way to setup a custom VPN that would combine these two things, i.e., let me route some apps through Orbot's proxy and use the local DNS server (provided by personalDNSfilter) at port 5300? I was looking at OpenVPN for Android (github.com/schwabe/ics-openvpn), but I'm honestly really confused. Help please? 😅 Boosts appreciated.
OpenVPN for Android. Contribute to schwabe/ics-openvpn development by creating an account on GitHub.GitHub
Peter Vágner reshared this.
Hello @Razemix, with #AdGuardHome you can use it inside and outside you LAN.
Here, I set it as DHCP server and it acts as DNS resolver for all the endpoints on my local network. But I also declare each device with an unique identifier and set private DNS on all of them. Profiles for iOS devices can be generated from the #AGH dashboard.
My AGH is serving DoT, DoH and DoQ protocols. This way, strangers cannot use my resolver to poison it.
VPN connection is not required is this setup to use your AGH outside your local network.
You need a domain name, a free certificate (Let’s Encrypt), open two ports (443 & 853 on UDP & TCP) in your router and firewall, write a tiny script to update your DNS record if your WAN IP address is dynamic.
Network ports are: #DoT (853/TCP), #DoQ (853/UDP), #DoH HTTP/2 (443/TCP), DoH HTTP/3 (443/UDP).
All you devices and family ones can use your personal secure DNS.
You can also completely replace standard DNS client on all your computers with #dnsproxy software developed by AGH team. All your devices will use secure DNS.
Create DAISY Audio Book from MP3 collection. Contribute to Memotech-Bill/MakeDaisy development by creating an account on GitHub.GitHub
reshared this
Peter Vágner reshared this.
We are proud to announce the go-live of our new website, izzyondroid.org/ 🥳
Although still modest, this site lets newcomers jump straight into #IzzyOnDroid and explains what makes our repository worth using. We also hope the new domain will increase visibility and reduce confusion.
We’d love to hear your thoughts here on the Fediverse. Encounter an issue? Please report it on our Codeberg issue tracker at codeberg.org/IzzyOnDroid/izzyo…. And, YES! — our website is #OpenSource 🤗
(1/3)
reshared this
Congrats! I love the new website, minimalist as I like'm :D
What is the app store featured on the screenshot? It doesn't seem to be F-droid?
🤗
Today's AWS debacle is the perfect example of the reason why in the last few years I started to be less enthusiastic about Signal, and more oriented to federated or even P2P solutions like XMPP and Jami. I wrote about it already:
gagliardoni.net/#im_battle_202…
Signal was down for few hours today, after an outage that affected AWS:
mastodon.world/@Mer__edith/115…
Let's ignore for a second the blind reliance on AWS or any other cloud provider. In a decentralized system, this would not have happened, or at least it would have not impacted so many users.
Yes, I am a cryptographer myself, I know that Signal's encryption is the best. But encryption is not everything. Availability issues, geopolitical troubles, risk of enshittification, limitations on users' freedom to use and control the software lead to a lack of trust, even in a supersecure solution. And I say that with honest admiration for the folks at Signal, who are doing a great job.
May they prove me wrong over and over again.
#signal #im #aws #amazon #privacy #security #digitalsovereignty #selfhosting #fediverse #federation #p2p #enshittification #xmpp #jami #politics #opensource #freesoftware #libre
reshared this
Sensitive content
reshared this
In 1993, Henter-Joyce released version 2.3 of its JAWS screen reader for DOS operating systems. The four tapes in this upload are the basic training tapes that...Internet Archive
reshared this
I'm quite proud of the fact that I usually find out about downtime of #bigtech services from the news.
For years, almost all of my personal online tools have been self-hosted or run in data centres of small regional providers. They aren't immune to downtime, but when they're down, it isn't half the internet.
Monocultures may seem efficient, but they aren't resilient.
Peter Vágner reshared this.
Learn Python Programming for Blind Persons: Chapter 1admin (Tech-Freedom for Visually Impaired)
Peter Vágner reshared this.
Generate YouTube transcripts instantly with our free tool. Extract and download video transcripts effortlessly. Perfect for accessibility, SEO, and content creation.YouTube Transcript
Peter Vágner reshared this.
Hey! Did you know that you can now find all the official @xmpp news on Movim 😮!
mov.im/community/news.xmpp.org…
You can subscribe to their News feed using any XMPP account and by joining from any #Movim instance (a lot of them are listed on join.movim.eu/) ✨
Movim is building a complete social platform on top of XMPP. Any account that joins the platform can already create its own blog 😊
Movim Communities allows you to create spaces to publish with others around the topic you like 😸! This is what the XSF did with their own #XMPP News Community, hosted on their own server and accessible from anyone on the network.
100% standard and fully federated ❤️
reshared this
reshared this
PipeWire 1.6 open-source server for handling audio/video streams and hardware on Linux is now available for public beta testing.Marius Nestor (9to5Linux)
reshared this
got an email from someone with this signature:
I love penguins at the south pole,
windows in my house and apples on my tree,
but not in my computer
reshared this
Máte doma v šuplíku telefon, který už nepotřebujete? Doneste ho na #OpenAlt stánek mobilního linuxu a pomůžete jeho vývoji!
Pomůžou nám následující, třeba i poškozené (kromě zákl. desky), modely:
Pixel 3 (i XL), Pixel 3a (i XL), Pixel 4a, Pixel 6,
OnePlus 6, 6T,
Sony Xperia XZ2, XZ3,
Xiaomi Mi Mix 2S, 3, Pocophone F1, Mi 8 (i Pro, Explorer),
LG G7 ThinQ, V35 ThinQ,
Fairphone (jakýkoliv),
SHIFT (jakýkoliv),
Chromebooky (různé)
Motorola Moto (různé)
Samsung Galaxy (různé)
Xiaomi (různé)
reshared this
When not using Google Play services (e.g. #GrapheneOS, #LineageOS users), #Signal can be a real battery drain. @mollyim with @unifiedpush on the other hand is extremely battery efficient.
Here's how to set this up, using #Nextcloud as the UnifiedPush provider: kroon.email/site/en/posts/moll…
I finally started using Molly to send and receive messages via Signal. Molly is a hardened fork of Signal for Android, offering features such as an encrypted message database, automatic locking, shredding no longer needed secrets from RAM, notificati…Guido Kroon
reshared this
Hacker gets annoyed at Amazon’s Kindle apps, reverse-engineers the Kindle web reader’s protocol (which basically sends each page as a set of glyphs in a deliberately broken variant of SVG). Such obscurity, much security.
blog.pixelmelt.dev/kindle-web-…
As it turns out they don't actually want you to do this (and have some interesting ways to stop you)Pixelmelt (Cats with power tools)
Peter Vágner likes this.
reshared this
Peter Vágner reshared this.
reshared this
reshared this
Zach Bennoui reshared this.
reshared this
reshared this
Isn't this what Aural CSS was back in the day?
AFAIK that was never implemented in any mainstream browser, Emacspeak was the only implementor I know of.
As far as I remember, it had a bunch of extra properties for things like how speech should be positioned in 3d, which was a very Emacspeak thing to do.
There are people who seem to feel really strongly about this being a good thing for screen reader users, and I must admit to being bewildered about why. Websites changing aspects of screen reader output may be equitable, if we compare it with the way webpages can alter visual presentation through fonts and other aspects. But to me it feels entirely inappropriate to cross that boundary between the browser as the user agent and accessibility software in order to interfere with very personal settings.
Meanwhile on iOS, the related accessibility attributes are being used to achieve outcomes nobody wants or needs, like spaces between all the digits of a credit card number. @miki @prism
I can see the point for e.g. text-to-speech APIs built into the browser, maybe even read-aloud features. But the case for screen reader compatibility seems to be built on the foundational assertion that SR output is monotonous and can't be "livened up" by brands.
As assertions go, I think that is both true and exactly how it should be. I don't use a screen reader for entertainment. I can think of few things more obnoxious than a marketing person thinking that my screen reader should "shout this bit."
Many web authors can't even label stuff correctly. Why on earth would we expect them to treat this sort of feature with informed respect? @miki @prism
@prism I think without ARIA or an equivalent (like more things built into the web platform), the web would've continued galloping forward with all the same UI widgets and design patterns but with no way to make them even halfway accessible, and we'd be left even more behind than we are now.
By contrast, I don't think the inability for a website to change the pitch of NVDA is a legitimate blocker to anything worthwhile. @Piciok @miki
@miki I think it's a trap to suggest that such problems should currently be solved only through speech properties and auditory cues within individual apps. Expressive semantics on the web have only been explored at a surface level so far, and it's a complete stretch to go from "We don't have the ARIA properties to convey complex information," to "Let's have every application implement its own beeps and boops."
Imagine having to learn the sound scheme for Gmail, then Outlook, then Thunderbird. Then going over to Slack where they also have unread state albeit for chat messages rather than emails, but they use an entirely different approach again.
All the while, braille users are getting nothing, and people who struggle to process sounds alongside speech are becoming more and more frustrated. Even if we assume that this is being worked on in conjunction with improvements to ARIA and the like, how many teams have the bandwidth and willingness to implement more than one affordance?
We've already seen this in practice: ARIA has braille properties, but how many web apps use them? Practically none, because getting speech half right and giving braille users an even more subpar experience is easier. Your own example highlights how few apps currently let you control things like verbosity and ordering of information.
CSS Speech could turn out even worse. A product team might opt to implement it instead of semantics because the two blind people they spoke to said it would work for them, and never mind the other few million for whom it doesn't. They'll be the people complaining that there's no alternative to the accessibility feature a team spent a month on and thought was the bee's knees.
@jscholes @silverleaf57 @prism Efficiency, not equity.
Words are a precious resource, far more precious than even screen real estate. After all, you can only get a fairly limited amount of them through a speaker in a second. We should conserve this resource as much as we can. That means as many other "side channels" as we can get, sounds, pitch changes, audio effects, stereo panning (when available) and much more.
Icon fatigue is real. "me English bad, me no know what delete is to mean" is also real, and icons, pictograms and other kinds of pictures is how you solve that problem in sighted land.
Obviously removing all labels and replacing it with pictograms is a bad idea. Removing all icons and replacing them with text... is how you get glorified DOS UIs with mouse support, and nobody uses these.
@miki Note that I'm specifically responding to your proposed use case here. You want beeps and boops, and I think you should have them. But:
1. I think you should have them in a centralised place that you control, made possible via relevant semantics.
2. I don't think the fact that some people like beeps and boops is a good reason to prioritise incorporating beeps and boops into the web stack in a way that can't be represented via any other modality.
@miki As noted, I think people who can process a more efficient stream of information should have it available to them. That could be through a combination of normalised/centralised semantics, support for specialised custom cases, and multi-modal output.
My main concern remains CSS Speech being positioned as the only solution to information processing bottlenecks, which I think is a particularly narrow view and will make things less accessible for many users rather than more.
Good discussion, thanks for chatting through it. @silverleaf57 @prism @Piciok
@jscholes At the same time, I think the chances that CSSSpeech completely takes over the industry and we all stop doing text role assignments is quite low.
explainxkcd.com/wiki/index.php…
So I am decidedly meh about this. It could help but probably won't.
@miki @silverleaf57 @Piciok
explain xkcd is a wiki dedicated to explaining the webcomic xkcd. Go figure.www.explainxkcd.com
This already exists though, as a screenreader feature. Kind of. NVDA has an add-on called unspoken that will replace the announcement of roles with various sounds, there's a different one for checked vs. unchecked boxes for instance. JAWS did (does?) something similar with the shareable schemes in the speech and sounds manager. Granted, not a lot of people do this, but the ability is there if people want it. VO, TB and cvox also have earcons--they're not used for this purpose, but they could be. Having this under the user's control rather than the author's control does seem better. It prevents for instance a developer deciding to be super abtrusive with ads. I do see the potential for it to be good, the author would be able to convey more nuanced concepts being the author of the content... it just feels like a thing most people wouldn't use, and most of the people who'd try would end up being obnoxious about it.
reshared this
During last 3 months I am using VDO ninja for all my remote interwiev and podcast recordings. here is my article about it from the blind perspective, focused on accessibility and audio.
Have You Ever Wanted to Record an Interview or Podcast Online? You’ve probably faced a few challenges:
How to transmit audio in the highest possible quality?
How to connect in a way that doesn’t burden your guest with installing software?
And how to record everything, ideally into separate tracks?
The solution to these problems is offered by the open-source tool VDO Ninja.
It’s an open-source web application that uses WebRTC technology. It allows you to create a P2P connection between participants in an audio or video call and gives you control over various transmission parameters.
You can decide whether the room will include video, what and when will be recorded, and much more.
In terms of accessibility, the interface is fairly easy to get used to — and all parameters can be adjusted directly in the URL address when joining.
All you need is a web browser, either on a computer or smartphone.
The basic principle is similar to using MS Teams, Google Meet, and similar services.
All participants join the same room via a link.
However, VDO Ninja distinguishes between two main types of participants: Guests and the Director.
While the guest has limited control, the director can, for example, change the guest’s input audio device (the change still must be confirmed by the guest).
VDO Ninja works in most browsers, but I’ve found Google Chrome to be the most reliable.
Firefox, for some reason, doesn’t display all available audio devices, and when recording multiple tracks, it refuses to download several files simultaneously.
Let’s imagine we’re going to record our podcast, for example, Blindrevue.
We can connect using a link like this:
https://vdo.ninja/?director=Blindrevue&novideo=1&proaudio=1&label=Ondro&autostart=1&videomute=1&showdirector=1&autorecord&sm=0&beepFor guests, we can send a link like this:
https://vdo.ninja/?room=Blindrevue&novideo=1&proaudio=1&label&autostart=1&videomute=1&webcamlabel=Peter or label=Marek.
Simply open the link in a browser.
In our case, the director automatically streams audio to everyone else.
Participants also join by opening their link in a browser.
If a nickname was predefined, they’ll only be asked for permission to access their microphone and camera.
Otherwise, they’ll also be prompted to enter their name.
Usually, the browser will display a permission warning.
Press F6 to focus on it, then Tab through available options and allow access.
The page contains several useful buttons:
To change your audio devices:
Each guest appears as a separate landmark on the page.
You can navigate between them quickly (e.g., using D with NVDA).
Useful controls include:
Under Audio settings, you can:
Our URL parameters define automatic recording for all participants.
Recordings are saved in your Downloads folder, and progress can be checked with Ctrl+J.
Each participant’s recording is a separate file.
For editing, import them into separate tracks in your DAW and synchronize them manually.
VDO Ninja doesn’t support single-track recording, but you can use Reaper or APP2Clap with a virtual audio device.
To simplify synchronization:
autorecord.&autorecord, reload the page, and confirm rejoining.
To start recording manually:
In this article, I’ve covered only a few features and URL parameters.
For more details, check the VDO Ninja Documentation.
reshared this
Peter Vágner reshared this.
like this
reshared this
Do you know that you can use Subtitle edit to transcribe audio? It has a relatively accessible guy so you can use Purfwiev's faster whisper xxl, cpp, cpp cublas, const-me. Longer post how to use it follows:
Download the program from the developer’s website. Navigate to the level 2 heading labeled “Files.”
If you want to install Subtitle Edit normally, download the first file, labeled setup.zip.
There is also a portable version available, labeled SE_version_number.zip.
If you decide to use the portable version, extract it and move on to the next section of this article. The installation itself is standard and straightforward.
NVDA cannot automatically obtain focus in lists.
To find out which item in the list is currently selected, move down with the arrow key to change the item, then press NVDA+TAB to hear which one is focused.
In the folder containing your original file, you’ll now find a new file with the .srt extension.
This is a subtitle file—it contains both the text and the timing information. Since we usually don’t need timestamps for transcription, we’ll remove them in Subtitle Edit as follows:
If you’re transcribing multiple recordings, it’s a good idea to close the current subtitle file by starting a new project using Ctrl+N or by choosing File → New.
Downloaded models can, of course, be reused, so future transcriptions will go faster.
In this example, I used Purfwiev’s Faster Whisper. If you want to use a different model, you can select it from the model list, and Subtitle Edit will automatically ask whether you’d like to download it.
Peter Vágner likes this.
Peter Vágner reshared this.
For various reasons, finding gainful employment as a disabled person tends to be difficult for most people, so I wanted to write down my experiences.Mike Gorse (Chronicles from an unstable era)
Peter Vágner likes this.
Peter Vágner reshared this.
On my AMD Ryzen 7 8845HS mini PC, NVDA is a bit sluggish in some cases in Firefox; e.g. cursoring through messages in Gmail folders. For reasons I don't fully understand, setting the processor affinity to a single CPU core and setting the process priority to "above normal" helps significantly, even when the CPU is nearly idle. I don't currently have the time/energy to debug the root cause for this or write a proper add-on, but I wrote an NVDA global plugin to make the change for me automatically when NVDA starts. If it breaks something, you get to keep all the pieces.
```
import ctypes
import globalPluginHandler
class GlobalPlugin(globalPluginHandler.GlobalPlugin):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
p = ctypes.c_void_p(ctypes.windll.kernel32.GetCurrentProcess())
ctypes.windll.kernel32.SetProcessAffinityMask(p, ctypes.c_void_p(1))
ctypes.windll.kernel32.SetPriorityClass(p, ctypes.wintypes.DWORD(0x00008000))
```
#nvdasr
reshared this
Peter Vágner likes this.
Peter Vágner reshared this.
Sending and receiving money has just become a whole lot easier!
Instant payments are now available to everyone in the eurozone.
⚡ Instant transfers 24/7, no waiting days for your money
💰 No extra fees, same price as regular payments
🔍 Free payee verification, ensuring IBAN and name match before sending
🛡️ Safer payments with daily checks to help prevent fraud and sanctions risks
🏦 More access, not just for banks but also fintechs and e-money institutions
For faster, safer payments than ever!
reshared this
Jamie Teh
in reply to Nathan Knowler • • •data:text/html,<body><main role="none"><header>hi
So it seems Chrome is using the accessibility tree for the context restriction here, not the DOM tree. That means role="none" and any other way of removing content from the accessibility tree, including modal dialogs, change the context. In contrast, Firefox uses the DOM tree in this case.
Normally, the accessibility tree is what you want to use for context because of generics, role="none", etc. However, in this particular case, it seems more appropriate to do this based on the DOM. Hmm.
Jamie Teh
in reply to Jamie Teh • • •