318 private links
<meta http-equiv="refresh" content="1">
for simple web pages.
The Nu HTML validator is recommended. There is also the html-validate for partial validation
- Select all non-summary children of a
<dialog>
with::details-content
appearance: base-select
for<select>
to customize it<dialog>
can be closed withmethod="dialog"
on a form.- Popover is here too
input type="checkbox"
can now have aswitch
attribute. See the smashing magazine. It has very limited support currently.- A
<search>
tag is available for 90% of the users
The author describes 3 states for search option buttons:
- Disregarded in search results
- must include it
- must exclude it
There is three input radio buttons to implement the state.
aria-label
and aria-labelledby
aren’t permitted on these elements. They are intended for interactive elements (buttons, links, form controls) and landmark regions.
The author provides the HTML elements that are not allowed to have an aria-label or aria-labelledby.
VoiceOver generally announce the contents of the aria-label. That aria-label “works” on generic elements in VoiceOver is a nonstandard remediation of noncompliant code, not an endorsement of a technique working as intended.
The author provides multiple HTML patterns to avoid the use of aria-label in the first place! Great!
- Was the Label Addressing a Problem Worth Solving in the First Place?
- Use visible text
- Use Visually-Hidden Text
- Use More Semantically Applicable Elements
- Add an Applicable Role
What is accessible for an accessible button.
In short:
- Anchors (links) are for navigating within the current document (page) or to another one.
- The dedicated "submit" and "reset" buttons are for specific form actions.
- Regular buttons are for (JavaScript) actions.
- Links can be styled to look like buttons and vice versa.
Link for navigation.
Buttons for actions.
"Look and feel" can be adjusted in CSS anyway...
How to create accessible spoilers without JS? Well it's a tradeoff.
When a link is activated for a navigation, a POST request can be sent at the same time.
I didn't know it, and you can find a short explanation on MDN: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#ping
HTML webpages as reactive notebooks
.setCustomValidity()
Why whitespace is confusing?
Browser support is increasing
<figure>
<blockquote>
<p>The truth may be puzzling. It may take some work to grapple with.
It may be counterintuitive. It may contradict deeply held
prejudices. It may not be consonant with what we desperately want to
be true. But our preferences do not determine what's true. We have a
method, and that method helps us to reach not absolute truth, only
asymptotic approaches to the truth — never there, just closer
and closer, always finding vast new oceans of undiscovered
possibilities. Cleverly designed experiments are the key.</p>
</blockquote>
<figcaption>Carl Sagan, in "<cite>Wonder and Skepticism</cite>", from
the <cite>Skeptical Inquirer</cite> Volume 19, Issue 1 (January-February
1995)</figcaption>
</figure>
For pull quotes, use an <aside>
instead.
Paperwork, documents created, screenshots taken, bookmarked web pages, video and audio files.
Each gets a website.
These websites aren’t complicated – they’re just meant to be a slightly nicer way of browsing files than I get in the macOS Finder.
Each collection is a folder on my local disk, and the website is one or more HTML files in the root of that folder. To use the website, I open the HTML files in my web browser.
I’m deliberately going low-scale, low-tech. There’s no web server, no build system, no dependencies, and no JavaScript frameworks. I’m writing everything by hand, which is very manageable for small projects. Each website is a few hundred lines of code at most.
These are created and curated by hand.
I think this could be a powerful idea for digital preservation, as a way to describe born-digital archives.
A minimal table editor :)
1.
In HTML5,
content “must be quoted from another source”Heydon rightly makes the distinction between block quotes, which (supposedly) quote another source, and pull-quotes, which highlight excerpts from the article you’re reading.
- No
<cite>
in<blockquote>
Heydon suggests using a
<figure>
and<figcaption>
to invoke this grouping, which seems the most sensible option.The
<blockquote>
cite attribute is generally useless since it’s invisible and most screen readers also ignore it
For inline (or “text-level”) quotations, there is
<q>
instead.HTML is hard
But the developers have no consequences on that.
Build HTML first, then CSS, then JS.
Building your service using progressive enhancement will:
- ensure your service is robust and of a high quality
- make it more likely your service will work regardless of which browser or device is being used
- mean your service’s most basic functionality will work and meet the core needs of the user
- improve accessibility by encouraging best practices like writing semantic markup help users with device or connectivity limitations to use your service
and arguments against SPA.