They rejected mine too for the exact same reason, despite press-to-talk being a legitimate accessibility issue.
I wrote about this here [1], and even called out some of the most common disabilities that clearly benefit from it.
They also don’t allow microphone access from keyboard extensions in iOS, which prevented me from shipping an iPhone target (that I really wanted for myself tbh).
It’s a shame and I can only assume they’re trying to protect their built-in dictation, which historically has been laughably bad.
Thank you! For the components, I use the Custom Elements Manifest Analyzer to get data from JSDoc comments and TypeScript. This populates properties, events, methods, slots, etc. All the examples and other pages are hand-made. Docs are generated with 11ty.
It prioritizes accessibility, longevity, performance, and simplicity.
With the autoloader, one script tag loads components dynamically without downloading the entire library. (npm also available.)
Theming uses color-mix() and OKLAB to create uniform color palettes from a single CSS property. Adaptive palettes are used for dark mode.
All form controls are form-associated via ElementInternals and work with native validation APIs (required, pattern, etc.).
Dialogs, popovers, tooltips, etc. use Popover API for top-layer access without having to portal or hoist.
Some of the more fun components include: Joystick, Stamp, Mesh Gradient, Flip Card, Random Content, Intersection Observer, Typewriter, Lorem Ipsum, Slide Activator
The library is free for personal, educational, non-profit use. Commercial use requires a license.
Shoelace has matured into Web Awesome and has a whole team behind it, as well as an attractive pro offering. Quiet is my creative outlet. Some components from Quiet have been adapted to Web Awesome, but many probably don't make sense to such as joystick, mesh gradient, stamp, etc.
The theming layers are completely different. Web Awesome's theming system is more robust, with over a dozen pro themes already available with interchangeable, professionally-curated palettes. In contrast, Quiet has just one theme with a palette that's generated with color-mix().
I’ve been quietly working on this for the last two years. It started as a creative outlet and a way to discover and learn modern Web APIs. It ended up as an addiction.
I built Quiet from scratch to improve my design skills. To learn new APIs. To try different approaches that may or may not in my main focus, which is Web Awesome.
I learned so many new things building it. It let me explore newer APIs such as `color-mix()`, the Popover API, and Element Internals. It let me use newer CSS features such as `:has()` and nesting before they were baseline. It taught me about color, especially OKLAB and OKLCH, which is still a mysterious box of wonder, but slightly less intimidating now.
Quiet has given me the freedom to explore ideas that make me a better developer and designer, many of which would be out of scope for a more established product.
I’d love to hear what you think, and I'm happy to answer any questions!
I would imagine the subtle daily increase or decrease in daylight, even in extreme latitudes, is more natural and healthier than an immediate one hour shift in either direction.
I had a similar but more concerning experience. I enabled family sharing (years ago when it was newer) and suddenly my spouse had access to many (all?) of MY passwords in HER keychain. I never knowingly granted access or put any passwords in a non-personal group — it just happened like magic.
I loved mine. Found one at a yard sale as a kid (with the book!) and taught myself how to program with it. Eventually, I learned about QBASIC and my world — and love for programming — got so much bigger.
> When the hard-working little swimmers encounter the thicker vaginal mucus, their path is slowed. So the sperm often join together at their heads, which gives them greater swimming speed (up to 50 percent faster) than if they were to carry on individually.
This has been fixed in a PR that made it into React’s experimental release. They’ve been promising support since 16, but keep bumping it back. It’s now slated for React 19. You can read the discussion here. [0]
Per Dan’s comment [1], they began rolling out the flag to test support at Meta in February and, barring any major problems, they’re still targeting 19.
The goal is to handle as much accessibility as possible with smart defaults and by making it easy for users to get right. Currently, all aria stuff is handled internally the components. For example, look at <sl-input> and you’ll see that the input, label, and help text are automatically linked in the shadow root. The minimum the user needs to provide is a label and assistive devices work as expected.
Creator of Shoelace [0] here. As someone who’s built multiple design systems and component libraries, I assure you that unstyled (or “headless”) components are often much more time consuming and painful to adopt than those with good default styles.
That said, I commonly find that most folks don’t want unstyled components because it’s quite a bit of work to style every single state of every single component. Most people just won’t do it or, if they try, they don’t do it right and they don’t do it completely.
What many folks do want are components that have simple, generic styles you can quickly tweak to match your site/app using a skill you already know: CSS. (This is something you can do with Shoelace’s 50+ web components already, but we’re working to make it even easier with additional CSS custom properties.)
I wrote about this here [1], and even called out some of the most common disabilities that clearly benefit from it.
They also don’t allow microphone access from keyboard extensions in iOS, which prevented me from shipping an iPhone target (that I really wanted for myself tbh).
It’s a shame and I can only assume they’re trying to protect their built-in dictation, which historically has been laughably bad.
[1] https://tonguetype.app/accessibility