WireKit v2.18.3
Patch release — rendering and accessibility corrections. Four defects that were invisible in the markup you write and visible in what your users get: a stray space in running text, a boolean attribute that did the opposite of what it said, an accessible name that never arrived, and invalid attributes on rendered elements.
Fixed
- Inline components put a visible space in front of whatever followed them.
Run <x-wirekit::code>wirekit:install</x-wirekit::code>.rendered asRun wirekit:install .— the component's view ended with a newline, and HTML collapses that to a space. It also reached structured data: faq's plain-text mode derives its schema answer from the rendered HTML, so the space shipped inside the FAQPage JSON-LD. Sixteen components were affected, among them code, link component, kbd, mark and badge. There was no way to work around this from the call site, because the space originated inside the component's own output. <x-wirekit::faq schema="false">emitted the FAQPage JSON-LD anyway. An unbound Blade attribute arrives as a string, and the string"false"is true — so switching the schema off switched it on, silently, with the page rendering normally either way. That is precisely the spelling you reach for when a page carries a second FAQ block and must not emit two competing FAQPage nodes.schema,multipleandplain-textnow read"false","0","off"and"no"the way they are written; the bound form:schema="false"behaves exactly as before.- faq's accessible name was not exposed to screen readers. The
labelprop was applied to an element that ARIA does not allow to carry a name, so assistive technology did not announce it and accessibility scans reported a violation on a page that had done nothing wrong. The question list now carries a role that can hold the name, and only when a name is actually set. variant,sizeandannounce-errorsrendered as invalid HTML attributes. Passing one of these to a component left it in the markup —<div variant="flush" size="lg">,<input announce-errors="false">. Harmless to the display, but invalid HTML from a library that promises clean semantic output, and visible in any validator. Fixed across all eighteen affected components, including faq, input, select, textarea and toggle.- range-slider's merged value badge faded in on page load. When two thumbs sit close enough for their value badges to combine, the combined badge animated in from nothing on first paint instead of simply being there — a visible blink for a state that was never in question. It now paints its initial state outright; moving a thumb into or out of the merge still animates.