1
0
Fork 0
mirror of https://git.sr.ht/~seirdy/seirdy.one synced 2024-11-27 14:12:09 +00:00

Increase title link tap-target size + containment

- Contain articles in archive pages
- Increase heading tappable heading target size
- Fix alignment
- Consolidate some redundant rules
This commit is contained in:
Rohan Kumar 2022-07-15 18:38:30 -07:00
parent 60cfc4c791
commit de295c180a
No known key found for this signature in database
GPG key ID: 1E892DB2A5F84479

View file

@ -1,12 +1,12 @@
/* CSS that adds the bare minimum for a simple, accessible, /* CSS that adds the bare minimum for a simple, accessible,
* touch-friendly layout. * touch-friendly layout.
* Nothing here exists purely for aesthetics; everything addresses a * Nothing here exists purely for cosmetics; everything addresses a
* specific a11y, compatibility, or critical * specific a11y, compatibility, or critical
* usability need. * usability need.
* *
* Two exceptions: I re-set the input styles so Safari wouldn't make * Two exceptions: I re-set the input styles so Safari wouldn't make
* them pill-shaped, and I tweaked some margins to make some things * them pill-shaped, and I tweaked some margins/paddings to make some
* evenly aligned. * things evenly aligned.
* *
* I also don't use any classes except to optimize embedded content. * I also don't use any classes except to optimize embedded content.
* (e.g. to specify that an image should have pixelated rendering or be * (e.g. to specify that an image should have pixelated rendering or be
@ -94,7 +94,10 @@ html {
* long lists of content. */ * long lists of content. */
body > :not(main), body > :not(main),
main > :not(article), main > :not(article),
article > * { li article, /* Archive pages */
/* We increase the target size of h2/h3 links in a way that would cause
* issues with content containment */
article > :not(h2):not(h3) {
contain: content; contain: content;
/* Add padding on both sides so that focus outlines don't escape their /* Add padding on both sides so that focus outlines don't escape their
* containers. This will let us enable CSS containment without * containers. This will let us enable CSS containment without
@ -170,8 +173,15 @@ html {
li > a, li > a,
aside > a, aside > a,
nav ol a { nav ol a {
margin-left: -.25em;
display: inline-block; display: inline-block;
margin-left: -.25em;
}
/* Increase tap-target size of title links. */
h2 > a,
h3 > a {
display: inline-block;
padding: .5em .25em;
} }
/* The nav has to be distant-enough from the top to make room for a /* The nav has to be distant-enough from the top to make room for a
@ -200,9 +210,9 @@ html {
/* skip link: make it invisible until focused, and put it on the top. */ /* skip link: make it invisible until focused, and put it on the top. */
a[href="#h1"] { a[href="#h1"] {
padding: 0 .25em;
position: absolute; position: absolute;
top: -2em; top: -2em;
padding: 0 .25em;
} }
a[href="#h1"]:focus { a[href="#h1"]:focus {
@ -239,10 +249,11 @@ nav ul {
padding: 0; padding: 0;
} }
/* Make breadcrumbs inline, so they look familiar. */ /* step 2: remove bullets and make elements inline. */
nav[itemprop="breadcrumb"] ol, nav[itemprop="breadcrumb"] ol,
nav[itemprop="breadcrumb"] li, nav[itemprop="breadcrumb"] li,
nav[itemprop="breadcrumb"] > span { nav[itemprop="breadcrumb"] > span,
nav ul li {
display: inline-block; display: inline-block;
} }
@ -254,15 +265,6 @@ nav[itemprop="breadcrumb"] ol {
nav[itemprop="breadcrumb"] li:not(:last-of-type)::after { nav[itemprop="breadcrumb"] li:not(:last-of-type)::after {
content: "→"; content: "→";
} }
/* step 2: remove bullets and make elements inline.
* Also: bump up the line-height and margins to increase space
* between tap-targets (SC 2.5.5). Google a11y guidelines require 8 CSS
* pixels between tap targets. */
nav ul li {
display: inline-block;
margin-right: .5em;
}
/* narrow screens: we reduce margin for blockquotes a lot, using /* narrow screens: we reduce margin for blockquotes a lot, using
* a border instead. */ * a border instead. */
blockquote { blockquote {
@ -469,15 +471,15 @@ form :focus {
outline: 3px solid; outline: 3px solid;
} }
/* Remove :focus styling for browsers that do support :focus-visible. /* /1* Remove :focus styling for browsers that do support :focus-visible. */
* Leave it on for form stuff. */ /* * Leave it on for form stuff. *1/ */
@supports selector(:focus-visible) { /* @supports selector(:focus-visible) { */
a:focus:not(:focus-visible), /* a:focus:not(:focus-visible), */
summary:focus:not(:focus-visible), /* summary:focus:not(:focus-visible), */
pre[tabindex]:focus:not(:focus-visible) { /* pre[tabindex]:focus:not(:focus-visible) { */
outline: none; /* outline: none; */
} /* } */
} /* } */
/* Todo: /* Todo:
* - Wait till Webkit fixes its broken-ass default dark stylesheet * - Wait till Webkit fixes its broken-ass default dark stylesheet