Dev News: W3C Accessibility, OpenAI Python SDK, and More
The W3C adopted the WCAG 2.2 as the latest standard for internet accessibility earlier this month. The update creates nine new success criteria that companies must meet in order to conform, according to the W3C website:
- Focus Not Obscured (Minimum)
- Focus Not Obscured (Enhanced)
- Focus Appearance
- Dragging Movements
- Target Size (Minimum)
- Consistent Help
- Redundant Entry
- Accessible Authentication (Minimum)
- Accessible Authentication (Enhanced)
WCAG 2.2 addresses emerging challenges, incorporates industry best practices, and improves support areas for people with cognitive and learning disabilities. It focuses on keyboard navigation, consistency of user interface elements, and form validation — all of which assist people with visual impairments, cognitive impairments, motor impairments, or memory loss, to better interact with online services. WCAG 2.2 is more of a complementary update to the previous 2.1 standards, rather than a significant leap towards WCAG 3.0. It’s anticipated that WCAG 3.0 will be a major overhaul that will introduce significant changes to the WCAG framework.
OpenAI Releases Beta Python SDK
OpenAI is seeking feedback on its beta version of a Python SDK, a library that gives Python developers a way to leverage the OpenAI API. The SDK includes a pre-defined set of classes for API resources that initialize themselves dynamically from API responses, so it’s compatible with a wide range of versions of the OpenAI API, according to a project description on the Python Package Index (PyPI). There are a number of use cases and links to example code on the site, such as chat completion, fine-tuning of training models on specific data, image generation with DALL·E, and speech-to-text functionality. There’s also a command-line interface, which makes it possible to interact with the API from a terminal. The OpenAI Cookbook also has code examples and can be found on GitHub.
New Government Open Source Software Guidelines
Those open source software developers in a corporate or government setting might want to check out new guidelines from the Cybersecurity and Infrastructure Security Agency (CISA), the FBI, the NSA, and the U.S. Department of the Treasury. The new guidelines are for those using open source in operational technology and industrial control systems. They were developed in collaboration with industry and government partners through the Joint Cyber Defense Collaborative (JCDC) as part of the 2023 OSS planning initiative. The recommendations target senior leadership, but may lead to questions for the development team, so it’s worth a quick review. The recommendations address:
- Vendor support of OSS development and maintenance;
- Vulnerabilities management;
- Patch management;
- Improve authentication and authorization policies; and
- Establish a common framework to develop and support an open source program office, support safe and secure open source consumption practices, and maintain a software asset inventory.
New Raspberry Pi OS and Desktop Released
Every odd-numbered year, there’s a new version of Raspberry Pi OS that corresponds to a new major Debian release. This year, the Raspberry Pi OS is called Bookworm, continuing a tradition of naming Debian releases after characters in Pixar’s Toy Story franchise. While the OS has a small list of changes, what has changed more substantially is the Raspberry Pi Desktop, according to Simon Long, a senior principal software engineer who works on the project. Among the changes users can expect is a move to Wayland as the display system, which will bring a performance and security advantage, Long wrote.
Wayland is the language that applications can use to talk to a display server in order to make themselves visible and get input from the user. That’s a major shift, since for the past 35 years most Unix desktops have been based on X11. However, that system is showing its age — hence the shift to Wayland.
“Because under X11 all applications were communicating with the display server, and this communication was two-way, all applications could exchange information with each other,” Long wrote. “Under Wayland, applications are all isolated from each other at the compositor level, so no application can see what another application is doing.”
Wayland requires a compositor, and Bookworm is using one called Wayfire, which uses a standard Wayland library called wlroots. Booting Raspberry Pi OS on Pi 4 or 5 will now get the Wayfarer desktop, which looks pretty much identical to the desktop from Bullseye, but it required quite a lot of work to get to that point, Long added. A few applications use a toolkit that isn’t Wayland-compliant or they may bypass a toolkit completely by making direct calls to X11. There’s a fix for getting these to work on Wayland, he explained.
“Our Wayland implementation includes a piece of software called XWayland — this is an X11 display server, which sits on top of Wayland,” Long wrote. “It handles all the non-graphical parts of X itself, and passes any graphical parts to the underlying Wayland implementation. XWayland is designed to launch automatically as soon as an application requests anything from X, so this should all work seamlessly.”
Raspberry Pi Desktop also changed to the PipeWire audio system. This reduces latency while managing Bluetooth audio devices better and automatically reconnecting them at boot, plus it’s designed to operate better in the more secure Wayland environment, Long wrote. Another change: The new desktop uses NetworkManager network controller.
“This is now the standard control mechanism for networking in most Linux distributions, and is now the default network controller for Bookworm, replacing the previous system, dhcpcd,” he wrote. “NetworkManager does everything dhcpcd did, but adds a bunch of extra functionality, including the ability to connect to hidden wireless networks, to connect to virtual private networks (VPNs), and to use a Raspberry Pi as a wireless hotspot.”
Finally, Raspberry Pi Desktop now supports Mozilla Firefox as a second browser option, in light of Firefox’s Raspberry Pi-optimized release.