387 private links
You need to be using the appropriate elements (s are your friend!), and managing the appropriate attributes and their values to make truly accessible user experiences.
The idea: uses CSS to detect accessibility issues.
The author uses different code snippets for it. One ensures the outline of the focus is never clipped. Another makes sure that not expanded content (aria-exanded="false") is not displayed. Another one targets aria-invalid elements. A busy container is not displayed in CSS, etc...
Every time you come up with a style that reflects a state or property of something (open, closed, expanded, collapsed, on, off, checked, disabled, busy, locked, selected, sobbing uncontrollably), do not use a class.
And an argument against utility-classes such as Tailwind: If you use these tools, you still need to know CSS. On top of that, you may need to know the tools’ syntax in order to incorporate any CSS that goes beyond what they offer. If you build these tools, please consider how you can use CSS that promotes and reinforces good and accessible underlying HTML syntax.
It provide a good example: this semantic HTML
<button
id="navbar-toggle"
type="button"
aria-label="Toggle menu"
aria-controls="navbar-menu"
aria-expanded="true"
></button>
<ul id="navbar-menu" aria-labelledby="navbar-toggle"></ul>
should be styled as follow in CSS
/* State: closed. Click to open. */
#navbar-toggle[aria-expanded="false"] {}
/* State: open. Click to close. */
#navbar-toggle[aria-expanded="true"] {}
Just as before, it turns out that the class name was completely redundant. In fact, because we reached for a class name prematurely, we forgot to communicate the right semantics at the markup level.
Integrate a rust game compiled in wasm into sveltkit
The benefits of min-width: 0; while overflowing with flexbox
As it turns out, links are not focusable in Safari if they have 0 dimensions. Adding 1px padding, border, or width and height fixes the issue.
A quick win is to use font-variant-emoji: emoji;
Another drop-in css library that authors wished to have to start on every new little website.
TL;DR use SSR or SSG
Explaining pointers in one image
Everything that does not have to be JS anymore, and there is a lot !
I didn't know about the accesskey attribute :)
It is impressive as you can ask how to code X
There is a "How it works" video: https://www.youtube.com/watch?v=ofKJ2zauYxw
Une bonne introduction à l'accessibilité web
An unstyled vue component library.
Make a list of all component that can be found in a project:
- this list
- material UI
- Carbon
- react rainbow components
- https://component.gallery/components/ (not maintained anymore?)
- ...
A good job 😃
One advantage in svelte is that we can integrate JS libraries quickly
Universally Unique Lexicographically Sortable Identifier is an improvement of UUIDs in some cases:
- 128-bit compatibility with UUID
- 1.21e+24 unique ULIDs per millisecond
- Lexicographically sortable!
- Canonically encoded as a 26 character string, as opposed to the 36 character UUID
- Uses Crockford's base32 for better efficiency and readability (5 bits per character)
- Case insensitive
- No special characters (URL safe)
- Monotonic sort order (correctly detects and handles the same millisecond)
In Rust, we can use:
- enums
- builder pattern
- enums + builder pattern
- another way: Instead of insisting on several builder methods, let’s create a single method that can add any option to the search options. The search option is then an
enum.