Releases
v1.10.1
Compare
Sorry, something went wrong.
No results found
Features
Toggle heading adoption — "Turn into → Toggle heading" now adopts the heading's section, matching Notion.
Every sibling up to the next heading of equal or higher rank becomes a child of the new toggle.
A heading inside a column adopts only within that column.
The adoption runs inside a move transaction, so undo restores the section.
Toggle disclosure arrows — The arrows now read as clickable.
The hover pill used to appear only once the pointer was already inside the 28 px square.
The chevron scales with its title's font size, so heading arrows grow with their level.
A localized Expand or Collapse tooltip is read from the state-synced aria-label.
Bug Fixes
Nested block menus — A block inside a toggle could never show its own menu.
A nested table's menu also jumped away the moment the pointer crossed onto the cell padding.
Hover and touch now share one resolver where the deepest block under the pointer owns the toolbar.
Hover detection stands down entirely over the toolbar.
Accessible names for icon-only controls — The entire inline toolbar was nameless to a screen reader.
A hint wired via aria-describedby describes a control but never names it.
An icon-only popover item now takes its name from its hint title, which repairs every one of them.
Colour swatches, captions and the embed iframe are named too, with no new i18n keys.
List and popover semantics — Every list item in the editor was an orphan.
Items declared role="listitem" but nothing declared the list, so the wrapper now carries role="list".
Toolbox section headers were separators inside a listbox, and are now presentational.
A popover is stamped as a menu only when it actually has menu items.
Table and database semantics — Add-row, add-column and the row and column grips were pointer-only.
They are now named, focusable buttons with keyboard activation.
Heading cells expose columnheader and rowheader, matching the <th> the view renderer emits.
The header toggle is a real role="switch", and database view tabs are a real tablist.
Escape no longer strands focus — Escape pressed inside the toolbar left focus on <body>.
The document handler stopped propagation in the capture phase, so the caret could never be restored.
It now stands down for targets inside the toolbar.
Modal dialogs return focus to the element that opened them, which fixes focus loss on WebKit.
Contrast — The grey text token cleared AA by 0.05 on white, so it failed on every tinted surface.
It is darkened, along with links and embed text, and inline code becomes its own token.
The Prism dark palette was dead: every rule was gated on a class nothing in Blok sets.
Database column pills move onto a dedicated on-pill colour.
Maintenance
Accessibility suite — Two copy-pasted axe scans became a layered suite on Chromium, Firefox and WebKit.
It scans all 20 block tools in edit and read-only, plus the editor chrome.
No rule is waived, and every scan is preceded by a visibility assertion.
Two defects stay pinned with reasons, including the inline toolbar stranding focus.
You can’t perform that action at this time.