Link targets need to be focusable to work with VoiceOver.
Making <main> focusable causes some side-effects, like making the TAB
key go to the beginning of <main> instead of the element after the
currently-clicked region.
Also removes the annoying outline around "main" in some non-mainstream
browsers, without having to add extra CSS.
IBM Equal Access A11y Checker caught an <aside> without a label. Figured
this was a good opportunity to instead use the site description.
While I was at it, I expanded said site description and used it
properly.
The WCAG "label in name" SC requires visible labels to contain
accessible names, preferably by having accessible names start with
visible labels. This commit makes footnote backlinks display as a
hyperlink reading "Back" to meet this SC.
- We don't want autocomplete on the webmention form, since users should
not be entering a link multiple times.
- Not all browsers support the "required" HTML5 attribute, so add the
"aria-required" HTML attribute too.
- Adjust transcript shortcodes to also support <audio> elements.
- Add audio element shortcode based on <picture> shortcode
- Make <audio> elements match container width.
- Display reply content in webmentions, when it's available
- Truncate titles and redundant content from webmentions
- Add note on a11y issues regarding badly-formatted webmentions from
brid.gy's mastodon integration.
- Add a11y metadata to transcribed images to communicate the presence of
a transcript
- Fix relative urls in navigation: make them absolute urls, so that the
parsed navigation elements have the correct destinations.
This also switches image transcripts from a section with a heading to a
div with an ARIA label. That should reduce duplication between the
<summary> content and the heading while still being semantically sound.
- Switch an abs link to a relative one
- Account for a site move
- Manually correct a couple dead links to point to the Wayback Machine
- Automatically switch some webmention links to the Wayback Machine
The RSS feeds use escaped HTML instead of XHTML, which improves
compatibility with certain feed readers (e.g. Microsoft Outlook).
Mention that Outlook uses its own weird engine for feed contents in my
web best practices article.
I increased a bunch of tap targets to fit the recommended 48x48 sizes
and 56x56 non-overlapping regions, but unfortunately this caused
outlines to overlap with each other. This commit turns these elements
into inline-block elements and makes the necessary fixes to accomodate
this change.
- Drop copyright symbol: I put it there because certain programs
explicitly look for it, but between rel=license, schema.org microdata,
and creative commons RDFa, I think scrapers should be covered.
- Update the theme-color and friends to work with my site's updated dark
theme.
Explicitly mark RSS feeds as "legacy" because I have joined the A-Town
Atom gang and they have a strict full-time attendance policy.
Thanks Forever for pointing out the spelling/grammar error here.
- Re-order rel for my homepage's representative h-crad
- Fix the aria-current for the homepage
- Microdata: remove unnecessary "sameAs"
- Reduce "update without adding date updated" timeout to 15min
- Add u-uid and rel=me to my h-card on every page.
It's useless and invalid in those contexts, and removing it
significantly trims the file sizes.
Edit a post featuring a microdata code snippet to avoid conflicts.
- Remove XHTML content-type meta header from HTML documents, reverting
back to the meta charset
- Give XHTML documents their own XHTML declaration
- Remove now-redundant meta charset from XHTML
- Since XHTML and HTML documents differ now, compress after running
xhtmlize and make xhtmlize only act on uncompressed files.
- Validate XHTML using vnu
The site now has polygot markup and can handle both XHTML5 and HTML5
parsing rules. My staging site will be XHTML but my main site will be
HTML5, just in case of parse errors.
If other tools (e.g. LightHouse) end up supporting XHTML5, I'll consider
switching the content-type to XHTML.
I go out of my way to make sure the site works on viewports well under
240 CSS pixels wide. Some pages are very long, so a single mistake in
one part of the page shouldn't cause small text throughout the page.
Some article extractors get confused when the article body references
another author with microdata. Declare the author itemprop a second time
to make them happy.
Add an RSS feed for notes. Next up, replacing the RSS navlink with a
page containing links to both my posts and notes RSS feeds. When I get
ATOM and WebSub, it'll have links ot those too.
Also fixed some typos and switched "Posted" to "Noted" in the context of
notes.
- Stop using draft WAI-ARIA 1.3 that isn't supported yet
- Make in-page links focusable across shortcodes/partials
- Replace existing in-page heading anchor links with a more accessible
option.
- Make backlinks aria-labelledby instead of giving them an aria-label,
so they can be translated.
They're not interactive elements and there's no hint that they should be
hovered on. Wrapping them in an <abbr> would just make the markup even
more overcomplicated, so I just dropped the titles.
Allow specifying open graph images for individual pages. Change default
site-wide open graph image alt-text to an empty string since the default
image only has visual value, and is better off hidden from assistive
technologies.
Set an open graph image for two articles.
- Streamline CSS to reduce duplication
- Better backlink accessible names for endnotes with multiple backlinks
This required updating a false positive filter in my vnu jq filter.
- Adopt more shortcodes in older posts.
- Contain figures, excluding images. Slightly decreases paint times.
- Fix spacing issues for nested articles.
- Always enable vertical scrollbar, since pretty much all pages are
taller than the viewport. Eliminates a layout shift.
- Moar microdata
- Set fixed updated dates for some posts so they don't get new
date-updated values until I actually change the content significantly
- Change a quote of a code snippet to a code snippet with a citation
- Mention tkhtml
- Mention pandoc and printfriendly as exmples of moving figure elements
like floating blocks.
- Make TPGi a publisher, not an author.
- Use brackets to clarify a reference in a quotation.
- Add personal example of why it's important to test both low- and
high-end displays.
- Identify the transcript with a subheading, ending in a period so that
the aria-description separates the identifier from the concept.
- Put the transcript in a <section>
- Snuck in a trivial syntax fix for the generator element.
- Make webring links touch-friendly and accessible by using spaced-out
details elements.
- Make details elements touch-friendly by indicating interactive region
area and making summary padded.
- Sort featured posts by featured order.
- Ensure that at least one non-interactive tappable region exists on the
screen at all times, 48x48 px.