Skip to content

Axis v1.8.0 - Accessibility & Customization Update

Latest

Choose a tag to compare

@PR0Gorib PR0Gorib released this 01 Sep 13:43
· 17 commits to main since this release

Note: Because Axis is a freshly compiled, unsigned Rust/Tauri application, some sensitive antivirus scanners may flag the installer as a false positive. The source code is entirely open-source and viewable here.

VirusTotal Scans

This release focuses on comprehensive accessibility compliance, dynamic accent customization, per-project score scaling, and critical fixes for bulk editing, navigation, and view transitions.

✨ Highlights

🎨 Accent Themes & Visual Redesign

Axis now supports dynamic accent theming with dedicated theme choices.

  • New Themes — Added Plum (plum-violet + warm amber-gold) and Forest (muted forest green + terracotta) accent choices, each with light and dark mode variants alongside the classic Red theme.

  • Dynamic Engine — Replaced hardcoded accent declarations across the entire UI with dynamic CSS variables. All buttons, badges, glows, borders, primary actions, and gradients recolor automatically.

  • Theme-Derived Mid Tiers — Mid-tier scores now calculate dynamically using a midpoint blend of the active primary and secondary accent colors.

  • Split-Color Swatches — Settings picker now displays dual-color conic gradient swatches representing each theme's primary and secondary palette.


♿ Accessibility & Focus Management

  • Added accessible labels to icon-only and dynamically generated controls.
  • Added proper switch, button, and dialog semantics.
  • Added visible keyboard focus indicators.
  • Added focus trapping and focus restoration for modals and other overlay interfaces.
  • Improved screen-reader labels for items, images, projects, categories, templates, and backups.
  • Converted interactive tag controls to proper keyboard-accessible buttons.

⚙️ Per-Project Stat Scale

The maximum stat scale is no longer bound to global settings.

  • Per-Project Configuration — The maximum stat scale is now saved per project inside project data.

  • Backup Preservation — Project backups now retain their respective stat scale on export and restore.

  • Seamless Migration — Pre-existing projects fall back once to the global scale preference before migrating automatically.


🎬 View Switching Animation

Toggling between Grid and List view now features a smooth crossfade transition.

  • Container-level crossfade animation on the main view grid during view mode swaps.
  • Skips per-item position matching during transition to prevent layout glitches.
  • Automatically respects Reduce Motion accessibility settings.

🛠 Improvements

  • Cleaned up stale global preference references across project scale handlers.
  • Improved focus restoration when closing nested modals and image overlays.
  • Updated storage settings so theme choices persist in web and browser environments.

🐛 Fixes

  • Fixed Category Truncation — Removed the hardcoded 7-category limit in List view so all categories render and wrap properly.
  • Fixed Bulk Selection Target — Resolved an issue where bulk selection queries targeted duplicate item IDs in the hidden leaderboard instead of the grid.
  • Fixed Bulk Bar Overlap — Added a dynamic height observer on the bottom bulk toolbar to adjust grid padding and prevent card overlap on narrow screens.
  • Fixed Tag Chip Font Sizing — Fixed a CSS override on tag buttons that stripped custom font sizes and weights.
  • Fixed Search Count Overflow — Fixed search count text positioning from pushing into the search box on longer string queries.
  • Fixed Score Filter Bug — Fixed score calculations to prevent items from disappearing under invalid filter inputs.
  • Fixed Focus Traps on Escape — Fixed Escape key handling to ensure image viewer overlays close completely without leaving focus traps behind.

Thanks for using Axis ❤️

If you find a bug or have a feature request, feel free to open an issue or discussion on GitHub.

Full Changelog: v1.7.1...v1.8.0