Hextra v0.12.0 delivers a rich set of new features including page context menus, image zoom, redesigned tabs, and more, plus comprehensive WCAG 2.2 AA accessibility improvements and numerous bug fixes.
<!--more-->
## Upgrade Guide
No breaking changes are expected for most sites. Update using [Hugo Modules](https://gohugo.io/hugo-modules/use-modules/):
```bash
hugo mod get -u github.com/imfing/hextra
```
## Highlights
- Page context menu for copying/viewing Markdown source
- Redesigned tabs shortcode with per-tab naming and icon support
- Click-to-zoom for Markdown images
- GoatCounter analytics support
- Option to hide the main sidebar on desktop
- Display last modified author via GitInfo
- Option to disable prev/next navigation
- Built-in archives page for chronological blog post listings
- Term glossary shortcode and layout
- Exclude pages/sections from llms.txt
- Mobile sidebar ordering and labels aligned with `menu.main`
- Stable content width with CSS variable override support
- Comprehensive WCAG 2.2 AA accessibility improvements
The page context menu provides a dropdown button that lets you copy the page content as Markdown or view the raw Markdown source. As more users feed documentation into generative AI tools, having quick access to clean Markdown is increasingly useful. Custom links with template variables (`{url}`, `{title}`, `{markdown_url}`) let you wire up "Ask AI" shortcuts or other integrations directly in the menu.
The [tabs shortcode]({{% relref "docs/guide/shortcodes/tabs" %}}) has been redesigned. Tab names can now be set directly on each `tab` shortcode, and an optional `icon` parameter displays an icon before the tab label. The previous syntax is still supported.
```md
{{</* tabs */>}}
{{</* tab name="Photos" icon="photograph" */>}}Manage and organize your photo library.{{</* /tab */>}}
{{</* tab name="Music" icon="music-note" */>}}Browse and play your favorite tracks.{{</* /tab */>}}
{{</* tab name="Videos" icon="film" */>}}Watch and stream video content.{{</* /tab */>}}
{{</* /tabs */>}}
```

### Image Zoom
Enable click-to-zoom on Markdown images with a new configuration option, powered by [medium-zoom](https://github.com/francoischalifour/medium-zoom).
A site-wide terminology [glossary]({{% relref "docs/guide/shortcodes/term" %}}) with a dedicated listing page and a `term` shortcode for inline definitions.
## Accessibility
Comprehensive WCAG 2.2 AA accessibility improvements (#924):
- Skip-to-content link and ARIA landmark roles on all pages
- ARIA attributes on all interactive widgets (theme toggle, tabs, sidebar, filetree, dropdowns, search, menus)
- Keyboard navigation for tabs and theme toggle (arrow keys, Enter, Escape)
-`prefers-reduced-motion` support and global `focus-visible` styles
- 15 new i18n accessibility keys with full translations across all 21 locales
- Replaced all hardcoded English `aria-label` strings with i18n lookups
## Quality of Life
- Improved table readability styles
- Markdown attribute support for headers
- Better active link detection for multilingual section landing pages
- Card shortcode supports optional `alt` parameter for images
- Page bundle images supported in OpenGraph metadata
- Content width now stays consistent by default, with CSS variable override support for custom layouts
## Fixes
- Prevent `relref` double base-prefix in render-link
- Fix tabs rendering when nested inside steps
- Align mobile sidebar ordering and labels with `menu.main`
- Respect `search.enable` in the sidebar
- Respect the `toc` page parameter in mobile dropdown
- Enhance FlexSearch match highlighting and safe DOM manipulation
- Fix card subtitle positioning
- Handle leading slashes in OG image paths for subpath deployments
- Fix FlexSearch returning fewer than expected result pages
- Change default Umami analytics file to `script.js`
- Fix RSS author lookup for Hugo v0.156.0+ (`.Site.Params.Author`)
## Documentation & i18n
- Add Italian localization
- Link KaTeX documentation
- Update details shortcode docs to angle bracket syntax
## Contributors
This release was made possible by contributions from 11 new contributors:
- [@Fenyutanchan](https://github.com/Fenyutanchan) - Hugo v0.156.0 RSS author compatibility fix
Additional thanks to returning contributors [@KStocky](https://github.com/KStocky), [@ldez](https://github.com/ldez), [@kowyo](https://github.com/kowyo), [@torbjornbp](https://github.com/torbjornbp), [@yuri1969](https://github.com/yuri1969), and [@PrintN](https://github.com/PrintN) for their continued contributions.