Skip to content

v1.4.1 — two Windows fixes found by Windows parity; screen readers and the keyboard in the window

Choose a tag to compare

@physics515 physics515 released this 04 Oct 06:21
82735ac

Skidbladnir 1.4.1 fixes two Windows-only problems in what the installers carry, and makes the window usable with a screen reader in places where it wasn't.

Fixed

  • Windows: HEIC with Sharp YUV. Every Windows build so far left sharp YUV out of its HEIC library, so a HEIC made with Chroma downsampling → Sharp YUV quietly used the default downsampler. It is built in now, and the build fails if it is ever missing again.
  • Windows: AVIF and JPEG input built as release code. The AVIF encoder (libaom and libavif) and the JPEG reader (libjpeg-turbo) were compiled without optimisation and with their internal assertions on. One of those assertions could end the app on an AVIF superres setting. All three are now optimised release builds. Output is unchanged and byte-identical to avifenc, as on the other platforms (Windows speed was not measured).
  • Screen readers: text and number fields. Width, height, crop, every slider's exact-value box, JPEG XL's and HEIC's number fields, compatible brands, the colour hex field and the preset name were missing from what a screen reader is given. They are all there now, with their names and values.
  • Screen readers: selects say what they hold. A select (say, "libwebp preset") gave a screen reader no current choice on Linux. It now carries it ("photo"). On Windows, UI Automation already gave each select's value.
  • Screen readers: clearer buttons. Convert is announced as what it shows, "Convert 2 files". Convert and the preset form's Save are marked unavailable when dimmed, which Windows reports to screen readers (Linux doesn't yet, because of a limitation in the accessibility library). The two "Apply" buttons in the WebP panel are now "Apply the libwebp preset" and "Apply the lossless level", and the sidebar's are "Collapse the sidebar" and "Expand the sidebar". These are the same in the fallback (webview) window.

Checked on every change from now on

  • What a screen reader is given, in ten states of the window, on Linux (AT-SPI) and Windows (UI Automation).
  • That Tab reaches every control in every format's panel, Shift+Tab walks back, and sliders, option groups, selects and check boxes work from the keyboard (Linux).
  • A real file drop onto the window, then a conversion (Linux, X11).
  • Byte-for-byte parity with avifenc and heif-enc on Windows too. Every format's reference tool now runs on Windows in CI, except JPEG XL's EXR input (see below).

Known gaps

  • Nobody has used Skidbladnir with a screen reader yet (Orca, Narrator, NVDA or VoiceOver). What one is given is checked automatically on Linux and Windows, not on macOS.
  • On Windows, cjxl with the OpenEXR CI uses writes different bytes for 10 of the 149 EXR test cases, where on Linux and macOS it matches Skidbladnir. That reference build is being looked into. Skidbladnir's own EXR reading is unchanged.
  • macOS is still experimental: built and tested by CI, never opened by a person. The app is not code-signed on any platform.

Both editions as before: standard (Kvazaar, ISC) and GPL (x265). Installed copies from 0.8.0 on are offered this update in the app.