Aussie living in the San Francisco Bay Area.
Coding since 1998.
.NET Foundation member. C# fan
https://d.sb/
Mastodon: @dan@d.sb

  • 0 Posts
  • 48 Comments
Joined 2 years ago
cake
Cake day: June 14th, 2023

help-circle

  • Websites don’t have an actual check for a legit email.

    Some do. You can connect to an SMTP server and pretend to send an email (send the EHLO, MAIL FROM, and RCPT TO commands, but don’t actually send any content). A lot of servers will immediately reject as soon as you provide an invalid recipient email address.

    Of course, that doesn’t work for any domains with a catchall address (where every address at a domain goes to one mailbox), and some SMTP servers don’t reject the email until later (or even just silently ignore emails to invalid addresses) in order to avoid enumeration attacks.


  • Do you mean in mixed language documents? Can’t you tell it that parts of the document are in a different language? You could do that in Microsoft Word 25 years ago - Word lets you set the default language for a document, but you can change it per paragraph.


  • Web is a bit easier than native since the browsers handle all the platform-specific details across all common platforms, and you mostly just have to follow some guidelines that aren’t overly technical or arcane. Some examples:

    • Use ARIA roles where appropriate
    • Ensure sufficient contrast between text and background colours. Should at least meet the WCAG level AA which is a 4.5:1 contrast ratio, but ideally meet AAA which is a 7:1 ratio for body text and a 4.5:1 ratio for headings.
    • Ensure you use <label> tags to label for all your <input>s, alt attributes on all images, title attributes where appropriate (e.g. on <table>s to describe the data contained inside the table), etc.

    If you use Firefox, its developer tools have an “Accessibility” tab that can audit for common issues - things like missing labels on checkboxes and radio buttons, colours that don’t meet WCAG contrast ratio requirements, etc.

    It’s a good time to learn more about building accessible sites and apps given it’s becoming a legal requirement in some jurisdictions. For example, the European Accessibility Act (EAA) goes into effect later this year, and it mandates that sites and mobile apps for various industries (like ecommerce, airlines and other transport, media streaming, social media, banks, and some others) meet accessibility guidelines.

    I’m on an all Linux machine and the only accessibility software I know of is Orca and it’s so and so last time I tried it.

    It’s probably worth spinning up a Windows VM to test in NVDA. It’s one of the most popular screen readers and probably the most popular open-source one, but only works on Windows since it deeply hooks into the Microsoft Speech API, accessibility APIs, and and other Windows APIs.




  • This is a really well written article. It’s unfortunate that this person has to deal with all these issues.

    I suspect the reason that both MATE and the Debian installer have good accessibility support is because their codebases are quite old. In general, it seems like older software is more likely to have better accessibility support than newer software.

    Accessibility should be something that’s built into software from the very beginning, but I totally understand that not all developers have time for it or properly understand it. It’s unfortunate.

    Edit: I forgot to mention that accessibility is going to be mandated for some types of sites and apps in the EU thanks to the European Accessibility Act (EAA) coming into effect later this year, which should help somewhat. Won’t really help with Linux itself though.


  • Same with industrial automation. There’s some robotic arms, assembly lines, etc in use today that still use PCs with ISA slots - the predecessor to PCI, which was the predecessor to PCIe. Old 16-bit bus with a max speed of around 5Mbps. That’s why you’ll occasionally see newish “industrial” motherboards that have ISA slots and parallel ports.

    They also often have a lot of the hardware in stock and ready to deploy, to handle replacements.

    A project I worked on at university (way back in 2010) was for one of the largest providers of air traffic control systems. Our project was interesting - overlaying eye tracking data from Tobii eye trackers they provided (thousands of dollars each at the time) on top of screen recordings taken via VNC, to aid in training of air traffic controllers.

    It was even more interesting to learn about some of their processes, though. Whenever they built an ATC computer system for a client, they’d build one or two spares at the same time, with exactly identical hardware. They did this for two reasons:

    1. If the hardware breaks down, they can supply a new system that exactly matches the hardware that was verified.
    2. If a client has an issue with their system, they can try and replicate the issue on a clone of that client’s system.

    We got to see a storage room with a large number of these systems. Lots of different PCs anywhere from a month to maybe 15 years old. :)