1
0
Fork 0
mirror of https://git.sr.ht/~seirdy/seirdy.one synced 2024-12-17 22:32:10 +00:00
Commit graph

200 commits

Author SHA1 Message Date
Rohan Kumar
b0d6c751e2
Optimize some assets
Shrink the two biggest assets on the web best practices page just a
little; i was getting too close to my 100kb limit.
2022-05-03 21:58:11 -07:00
Rohan Kumar
978b4b2b1a
Improve tap target + font size for WCAG AAA
Increased font size to decrease chars-per-line (SC 1.4.8) and increase
tap target size.

Pad the nav links more and add some extra space between them to meet SC
2.5.5.
2022-05-03 17:05:47 -07:00
Rohan Kumar
abc7b57e95
Improve print stylesheets
- Don't pad nav on print
- Link underlines in the TOC are not necessary in print
- Show home link on print
2022-05-02 15:42:57 -07:00
Rohan Kumar
c9a1958264
CSS: fix misaligned inline nav, simplify
Fixing the misaligned inline nav using "inline-block" also made it
obvious that I can simplify compound selectors. The max number of
compound selectors has dropped from 4 to 2. Update stylelint configs to
reflect this.

Also fix containment to reflect a prior change (webmentions are a
section, not a footer.)
2022-05-01 21:59:11 -07:00
Rohan Kumar
46471ea742
Improve tap target size on TOC 2022-05-01 21:24:17 -07:00
Rohan Kumar
321f851431
Remove responsive navbar
It's mobile-friendly as-is. I made sure that tap-targets were even
bigger and more spaced-apart, just to be safe.

Hide unnecessary nav-links in print mode.
2022-05-01 17:04:20 -07:00
Rohan Kumar
7bdd93d875
Increase tap-target size of nav links 2022-04-29 17:53:19 -07:00
Rohan Kumar
7fe0a6ef74
Smaller SerenityOS screenshot
The previous version was taking up too much space.
2022-04-27 21:33:45 -07:00
Rohan Kumar
fa10af4051
Tweak a color 2022-04-27 08:52:14 -07:00
Rohan Kumar
8597e50a59
Stylesheet: better print theme, simpler dark theme
- Better print stylesheet, now with a file dedicated just for print
  style improvements.
- Hide extra stuff in print.
- Bring back navbar for print because it also tells users the current
  section and the site name.
- Dark theme: make superscripts bold instead of using a higher-contrast
  color.
2022-04-27 08:41:36 -07:00
Rohan Kumar
f964152072
Add SerenityOS screenshot
obv gotta show off that awesome retro desktop
2022-04-26 22:39:12 -07:00
Rohan Kumar
0548f7d66c
Re-do dark stylesheet to avoid overstim
Use the updated weights for APCA.
2022-04-26 17:29:05 -07:00
Rohan Kumar
617139fab1
Add KaiOS image resolutions to webmanifest 2022-04-26 17:08:14 -07:00
Rohan Kumar
e2bf884052
Apparently I don't know how "initial" works 2022-04-25 22:28:10 -07:00
Rohan Kumar
46a0e5127b
CSS: narrow-screen nested lists, border for <samp> 2022-04-25 22:11:18 -07:00
Rohan Kumar
5771a22943
CSS: various tweaks
- minimal print style
- trigger hyphens at a higher width threshold
- almost fully classless
2022-04-25 17:37:23 -07:00
Rohan Kumar
eb8ca07b9f
Goldmark 1.4.12, switch to good unminified output
- Goldmark 1.4.12 switches footnotes from a <section> to a <div>; update
  regexes and stylesheet to account for this.
- Goldmark 1.4.12 allows multiple footnotes with the same reference; use
  that.
- Clean up templates for unminified output. Also delete an unused class.
- Switch to unminified output by default.
2022-04-25 08:49:13 -07:00
Rohan Kumar
f23b4f1975
Update theme color 2022-04-25 08:39:13 -07:00
Rohan Kumar
4e48237647
Prepare for goldmark v1.4.12
Goldmark v1.4.12 switched footnotes to a div. Make them a <section>
again, since I do insert a heading.
2022-04-24 12:35:07 -07:00
Rohan Kumar
8d22a26692
This dd/dt/dl distinction confused me ugh 2022-04-23 20:29:17 -07:00
Rohan Kumar
c609681824
Oops, that wasn't a typo. 2022-04-23 20:27:35 -07:00
Rohan Kumar
baa84af0c5
Remove skip link, typo.
The skip link is unnecessary on my site since landmarks and headings
both allow skipping repeated content.
2022-04-23 20:21:02 -07:00
Rohan Kumar
793c58eeb9
Improve link colors on gamma-adjusted screens
Existing link colors made it hard to distinguish between visited and
unvisted links on screens that had warmer color temperatures. Adjusted
the colors to make the distinction clear.

Unfortunately, that adjustment made superscript visited links (for
footnotes) fail the APCA, so I added a solid black background to
superscripts. Now they too should have good contrast.
2022-04-23 15:35:08 -07:00
Rohan Kumar
aefc6e4e26
Include h3 in TOC 2022-04-22 21:45:51 -07:00
Rohan Kumar
223fcd42c3
Lighten inks, inline footer nav on widescreen
- I felt dark-mode links were still a bit harsh, so I lightened them.
- Improved perceptual contrast of the purple visited links by making the
  background color slightly less blue.
- On widescreen, make footer links inline. They happen to be about the
  same width as the global nav, which makes this work well.
2022-04-22 08:53:11 -07:00
Rohan Kumar
901e52b442
CSS: corrective spacing, dark-theme coga
Yellow is a harsh color for people who deal with overstimulation; soften
it up a bit.
2022-04-21 22:31:38 -07:00
Rohan Kumar
83b4f32d0b
Emphasize current section in navbar
WCAG recommends telling visitors about their current place in a site's
hierarchy. All pages are exactly zero or one level below a section, so
simply emphasizing a member of the navigation links should be
sufficient.
2022-04-18 19:54:40 -07:00
Rohan Kumar
b5ebca64cd
Switch back to using a <hr>
The thematic break is appropriate here and having it announced by screen
readers actually helps.
2022-04-17 22:59:49 -07:00
Rohan Kumar
eda72198aa
CSS: embrace the default border color 2022-04-16 14:34:30 -07:00
Rohan Kumar
107643dfb5
Add missing screenshot of focus indicators 2022-04-14 22:51:05 -07:00
Rohan Kumar
00da18b36e
Add skip link
Should now be full wcag AA with some AAA.
2022-04-14 22:15:54 -07:00
Rohan Kumar
98979f33de
Mention smartwatches with web browsers
Support extremely narrow viewports. Add some hyphens accordingly.
2022-04-13 18:42:52 -07:00
Rohan Kumar
eaa8023af8
CSS: apply improvements described in WBP article
- Use borders instead of <hr>
- Distinguish <kbd> from <code> and body text with boldness
- Improve dark contrast and make dark visited links look distinct from
  regular text
- Improve focus indicators
2022-04-13 18:19:49 -07:00
Rohan Kumar
37860608d0
More on dark stylesheets
- More on the APCA being premature
- Notes on WebKit's shitty default dark colors needing to be overridden
2022-04-11 16:12:57 -07:00
Rohan Kumar
97d9cdeb63
CSS: more browser default colors for borders. 2022-04-10 20:41:35 -07:00
Rohan Kumar
9e2d7aa615
CSS: margin only on image figcaptions, not figures
Keeps images from getting shrunk to the point at which pictures of text
are unreadable.
2022-04-08 21:02:06 -07:00
Rohan Kumar
a3b8eb87b7
Add image of hidden search matches, wrapping fixes
- Add ugly screenshot of reddit redesign
- Fix wrapping on narrow viewports
2022-04-08 21:01:08 -07:00
Rohan Kumar
93c394a57b
CSS: fix print, compat with older browsers
- Fix print directive i accidentally deleted
- Switch from inline-start to "left" since old browsers prolly outnumber
  the number of poeple using Eng-Arabic machine translation engines that
  also alter the text direction.
2022-04-07 15:19:34 -07:00
Rohan Kumar
069dca0a06
New subsection on cache, semantic code snippets
Add "Don't count on the cache" under the "Optimal loading" section.

Some semantics for code snippets, including switching some from <code>
to <samp>.
2022-04-06 23:42:10 -07:00
Rohan Kumar
c0d511b7c9
Mark up and widen code snippets 2022-04-06 19:02:17 -07:00
Rohan Kumar
bbe9ff458e
CSS: better margins, contrast
- Allow figures that are *not* quotations to keep their old default
  margins.
- Improve the contrast of links just a little bit more.
2022-04-06 17:50:11 -07:00
Rohan Kumar
aab9356cf2
New section on spacing, other additions
- Mention checking privacy policies for 3p content
- Elaborate on more mainstream examples of color overrides
- Link to CSS WG docs instead of MDN for prefers-contrast since they're
  more detailed.
- Specify that I'm just removing margins in <figure> elements for
  quotations.
2022-04-06 17:49:19 -07:00
Rohan Kumar
0666dcd715
Revert to default font size, reduce body padding
It was getting annoying to fit stuff in a small viewport and the default
size isn't so bad tbh.
2022-04-05 20:20:56 -07:00
Rohan Kumar
b1e7b65e02
Re-organize and clarify some things
- Re-phrase a line referring to a previous section; after some
  re-arrangements, that section is no longer a "previous" section.
- Replace spatial terminology ("bottom") with sequential terminology
  ("end")
- Add note on font enumeration without the Font Access API
- Acknowledge testing in grayscale but emphasize that it isn't enough.
- Move defense of link underlines to just after the section on custom
  colors, since it's more relevant to it.
- Add xkcd image into the page instead of just linking, since the linked
  page content is an image that doesn't include a transcript or
  descriptive alt-text.
- Trivial rephrasings
2022-04-03 19:34:45 -07:00
Rohan Kumar
60bf9110b9
A11y and perf improvements
- Even less halation for dark theme
- More contrast for borders
- Slightly larger font, fixes APCA contrast issue for <small>
- Make responsive navbar work in NetSurf
- Make aria-current page bold
- Use content-visibility to unload footers and endnotes
- Add aria-labels to unclear webring link text
- Replace <hr> elements with css borders; the semantic meaning of <hr>
  was unnecessary with section breaks.
2022-04-02 23:54:39 -07:00
Rohan Kumar
02b1a8421e
Support reduced-contrast + RTL in dark mode
Use -inline-start instead of -left for machine translators that change
direction. Wrap that in a feature query so browsers that don't support
these rules can fall back to default styling. Those browsers are desktop
browsers anyway, where this doesn't relaly make a huge difference.

Add reduced-contrast for dark mode, for readers with severe astigmatism.
Reduced-contrast is the same as regular dark mode, except that the
background is lighter.

Somehow fit all of this in <1kb, any bigger and I'll have to stop
inlining.
2022-03-30 17:44:39 -07:00
Rohan Kumar
8b5c30c76c
Assets: add dark variant, replace useless WebPs
- Add dark variant of an image
- Some WebP images weren't significantly smaller than their PNG
  counterparts; replace them with JPEG-XL. No browser supports it yet
  but I need those meme image formats aaaaaaaaa
2022-03-29 18:35:29 -07:00
Rohan Kumar
689b6bcc3a
New "Beyond alt-text" section, short viewports
Describe how to best include images and figures in a way that flows well
and is accessible to both sighted and non-sighted users.

Describe how sticky elements can be a usability hazard on short
viewports

- Add changefreq
- Clean up structured data for quotations
- Add more sample unorthodox tests

TODO: dark image variant of image in new "Beyond alt-text" section
2022-03-29 18:26:22 -07:00
Rohan Kumar
3a639537b3
Info about csp, halation
- Mention pitfalls of a <meta>-based CSP
- Describe halation a bit more, with an image.
2022-03-28 18:11:55 -07:00
Rohan Kumar
aa631df58b
Fix stylesheet's overflow for <pre>, less indent 2022-03-28 18:11:21 -07:00
Rohan Kumar
ccce5c94a9
Inline nav links in print media 2022-03-27 17:24:07 -07:00
Rohan Kumar
b0d3189c84
Improve printer-friendliness
Make max line widths only apply to the "screen" media type.
2022-03-27 17:21:13 -07:00
Rohan Kumar
c40dc58bac
Fix some validator issues
- Typo in CSS
- improper use of <section>
2022-03-26 16:36:39 -07:00
Rohan Kumar
82a63d9662
Optimal line length 2022-03-26 12:33:01 -07:00
Rohan Kumar
fd576c9175
Prepare a TOC template 2022-03-26 12:32:22 -07:00
Rohan Kumar
4607ec2d95
Better example of bad custom colors
Add a better screenshot showcasing bad custom colors. Also give it a
figcaption.

The figcaption meant that I had to revise a statement later down when I
said I don't use figcaptions for images.
2022-03-20 16:09:01 -07:00
Rohan Kumar
66833dc93e
Improve narrow screen compat
- Replace long <code> snippets
- Add some soft hyphens.
- Make one image of text look better on a narrow viewport.
2022-03-16 16:52:03 -07:00
Rohan Kumar
d0fdf26227
Move microformat markup from picture to img 2022-03-08 19:32:28 -08:00
Rohan Kumar
5d685d2ce6
Include SVG version of u-photo on homepage
Useful for other IndieWeb software that parses homepages and renders
avatars.
2022-03-08 19:03:09 -08:00
Rohan Kumar
4b6cfbb9ed
Add bookmarks page
Pulls content exported from Buku, so I don't have to commit every time I
add a bookmark.

Since I added another nav item, I had to adjust the navbar css.
2022-03-07 22:40:26 -08:00
Rohan Kumar
6a08adb6c8
CSS: narrow body text
WCAG AAA guidelines encourage limiting text to 80 chars. Unlike A and
AA, the AAA level is more of a list of suggestions than a requirement.
Most other studies seem to indicate 70 is a good minimum but 100 is a
bit excessive.

"ch" units are broken on NetSurf, so I went with the closest "em"
approximation (since I already use "em" everywhere else).
2022-03-04 13:55:58 -08:00
Rohan Kumar
f8d4b6170d
Refactor stylesheet a bit
- More comments
- Remove redundancy; shaves off a few bytes
2022-02-28 15:05:14 -08:00
Rohan Kumar
4b79d96afe
remove <figure> margin, for narrow screens. 2022-02-28 14:18:21 -08:00
Rohan Kumar
14f2053fc1
Style: reduce horizontal scroll, element borders
All pages should now look good on screens 230px wide (DPR=1), inc. most
feature-phones running e.g. KaiOS.

Add borders to images so they look distinct from the surrounding page.
2022-02-26 17:18:44 -08:00
Rohan Kumar
29ae0f3115
Web practices: link underlines are good. 2022-02-24 23:00:49 -08:00
Rohan Kumar
815b7d7837
Fix: reflect recent changes in dark stylesheet 2022-02-24 17:56:17 -08:00
Rohan Kumar
acbaac71ea
CSS fixes
- Remove redundant selector
- surround preformatted text with a soft border even outside <p>.
2022-02-22 14:00:52 -08:00
Rohan Kumar
41d5ea1b4d
Optimize asset
New image optim pipeline spat this out.
2022-02-20 15:57:46 -08:00
Rohan Kumar
d8cb28d1db
Use navlinks to navigate previous posts in series
This requires making <nav> *not* display inline except for the
unstyled-list navlinks. This should also do a better job at appeasing
reader modes.

For the same reason, also make one link a citation
2022-02-14 17:24:40 -08:00
Rohan Kumar
3c2e4f40c4
Lighten bkg a bit more
Thanks to anonymous for feedback on contrast with astigmatism.
2021-10-04 12:30:43 -07:00
Rohan Kumar
636ecb3591
CSS: a11y: brighten bkg for astigmatic readers
Reduces the "halo" effect that comes with reading bright text on a solid
black background.
2021-08-30 15:08:59 -07:00
Rohan Kumar
678fda93da
Fix 512px favicon 2021-07-19 02:58:22 -07:00
Rohan Kumar
63f1708965
Clean up <head> a bit
- Remove reference to unused syntax.css
- Stop Apple's magic phone-number-linkification. If I need to link a
  telephone number I'll use a tel: URI, thank you very much.
2021-06-28 14:46:45 -07:00
Rohan Kumar
acad7a018f
CSS: respect browser default font size
Switch from pixels to %. Required some other changes to happen
2021-06-26 19:35:49 -07:00
Rohan Kumar
b224d003bb
Dark stylesheet improvement
- Replace css filter with a border
- Replacae "background" with "background-color" since "background" does
  a bunch of other things too.
2021-06-24 15:22:54 -07:00
Rohan Kumar
eee23d1574
Remove obsolete comment 2021-06-13 21:05:58 -07:00
Rohan Kumar
f61bbfe3d2
Update assets with precompressed versions
No need to re-compress the same file every CI job.
2021-06-13 17:25:59 -07:00
Rohan Kumar
be77c33081
Some more minification
- Use ect to shrink PNGs
- Use some CSS shorthands I didn't know about before.
2021-06-05 15:28:55 -07:00
Rohan Kumar
2abdb82cb3
CSS: Dark palette: switch to yellow links
The newish APCA contrast algorithm correctly reveals that blue-on-black
and purple-on-black links have lower perceptual contrast than
yellow-on-black links.

A Fediverse survey with 19 participants revealed that others tend to
prefer the older look over this one, but the number in favor was much
larger than I thought; it was a 3:2 split. I decided that on my poor
laptop screen facing sunlight with simulated color vision deficiencies,
the yellow links are indeed easier to read so I went with them.
2021-06-03 01:24:04 -07:00
Rohan Kumar
f9092d7694
CSS: improve dark-mode contrast
Improve link contrast in dark mode, using APCA contrast ratios.
2021-05-31 16:02:12 -07:00
Rohan Kumar
558b6844ca
Unbold home link
It says "Home". That's enough to know it navigates to the homepage.
Bolding it makes it look like it's the current page.
2021-05-06 11:33:05 -07:00
Rohan Kumar
7d405b7980
Simplify CSS, remove unneeded rules
It's even smaller now
2021-03-25 15:38:07 -07:00
Rohan Kumar
fc8d0caeea
Massively shrink uncompressed CSS assets 6 bytes
This is a good use of my time.
2021-02-12 13:43:30 -08:00
Rohan Kumar
bc667feec6
Fix: visible dark webring icon in Webkit
Dark mode now switches to a different icon instead of
inverting it. There's probably a better way but I'll figure that out
later.
2021-02-01 22:59:56 -08:00
Rohan Kumar
4e7a0c8bde
Link to Merveilles webring!
My site's first Webring. I plan to join a few others, and to create
three of my own.
2021-02-01 22:35:08 -08:00
Rohan Kumar
fb797184b6
CSS: blockquotes, re-use unstyled-list class
- Make blockquotes look like blockquotes
- Make the nav links use the unstyled-list class to avoid re-writing
2021-01-29 12:01:58 -08:00
Rohan Kumar
36a95f894a
Update preferred approach to image processing
- Include AVIF
- Include dark/light variants if applicable
2021-01-28 13:10:40 -08:00
Rohan Kumar
a75c49d54a
CSS: back to old line height
Line height was too high before.
2021-01-28 11:00:47 -08:00
Rohan Kumar
5bd359caf2
New article: WhatsApp & the domestication of users 2021-01-27 16:24:23 -08:00
Rohan Kumar
cba57196ac
Remove un-needed/duplicate CSS rules
Lol why haven't I inlined my CSS yet it's like <800 bytes uncompressed
now.
2021-01-27 13:36:19 -08:00
Rohan Kumar
e713a0e02a
Remove Apple mask icon
Even apple.com doesn't use it anymore lmao
2021-01-20 15:56:36 -08:00
Rohan Kumar
938428333e
Indieweb: statically display webmentions
Statically grab and include webmentions during Hugo builds, no JS
involved. Hugo supports making web requests and parsing the resulting
JSON, so there was no need to use an external program either.
2021-01-17 20:11:40 -08:00
Rohan Kumar
950918b104
Remove themes/, move its contents to repo root
I've modified etch-custom so much that it doesn't need to be its own
theme anymore.
2021-01-17 17:22:22 -08:00
Rohan Kumar
59b12ee290
More agressive zopflipng
Use 800-10000 iterations for zopflipng instead of just 16 to save a few
precious bytes.

This is probably a waste of time.
2021-01-17 14:09:40 -08:00
Rohan Kumar
72e3765593
Webmanifest: re-use mask_icon as monochrome icon 2020-12-21 16:40:27 -08:00
Rohan Kumar
b9e4be50f5
Metadata: description + cache-bust manifest icons
- Add a cache-busting fingerprint to all the icons in the webmanifest
- Add a <meta> and open graph tag for a description.
- Include a 512px icon in the manifest
2020-12-19 17:50:55 -08:00
rohan kumar
59bc793152
Asset organization
- Use the recommended resolution for the open graph image
- Since the mask-icon is onl served as a cache-busted asset and never
  served as a plain link from the site root, move it to assets/
- Cache-bust the webmanifest and put it in assets/
2020-12-16 13:19:32 -08:00
rohan kumar
b9a307a8c1
Icons: add the final icon: maskable icon
I just found out that lots of Android devices will letterbox icons; the
latest version of Lighthouse will preview an icon in the safe clipping
range, and that range was way too small for my existing icons. I made a
new version that was mask-safe with the white foreground shrunk down a
bit so it would fit. See [0].

[0]: https://web.dev/maskable-icon-audit/

For consistency, I renamed the Apple mask icon as well.

Why are there so many extensions to the HTML standard for icons? This is
getting ridiculous.

It's time for a rant about icon standards. Let's recap! what icons do I
have so far?

- A 192px apple-touch-icon. Apple icons are supposed to be 180px, but
  192px gets re-sized down just fine. This used to be apple-specific but
  then Android and others started using it. I picked 192px instead of the
  standard 180px because we need...(next bullet)
- A 192px icon for Android devices. Rather than having a separate icon
  for this, I just re-used the existing Apple icon in case the user's
  browser wants both so it can just cache and re-use it.
- The original 32px favicon.png. I picked PNG instead of ICO because an
  ICO containing the optimized PNG was a whopping 2kb while the png was
  176 bytes. It looks fine when scaled down to 16px with a variety of
  automatic downscaling algos, so there was no need to include an extra
  16px version.
- A mask-icon. I was hesitant to implement this since it seemed very
  vendor-specific (desktop Safari only), but it somehow became an
  accepted registered extension to the spec [1] so I figured that it was
  only a matter of time before a bunch of other things started using it.
- A webmanifest file to describe even more icons. It re-defines the
  aforementioned 192px icons. I chose to re-use the icon for the same
  reason as before. It also describes the next two bullets:
- favicon.svg: used in the manifest in case the device wants something
  bigger than 192px.
- A maskable icon (svg), completely unrelated to the aforementioned
  mask-icon, with the focus of the image shrunk down to handle cropping
  e.g. on some Android devices.

[1]: https://html.spec.whatwg.org/multipage/semantics.html#attr-link-sizes

What I SHOULD have, in an imaginary world where web standards make sense:

- A 32x32 raster icon. Probably PNG, but lossless-webp migth work
  too.
- A 16x16 raster icon, only if the 32x32 version doesn't downscale
  well.
- An svg icon for any other resolution.

What I don't, and probably never will have:

- A msapplication icon for IE 10 on Windows 8.0, for adding sites to the
  Windows 8 Start Screen.
- A browserconfig.xml in my site's root directory for adding sites to
  the Windows 8.1+ Start Screen/Menu with custom icons.

Since MS dumped IE and switched to Edge, documentation for the above was
never updated. I don't run proprietary operating systems, so I can't
test adding a website to the tiled Start Menu or Windows Task Bar.

Now that MS re-wrote Edge as a Chromium-based browser, I really have no
idea how it handles icons; I'd imagine it just does what Chrome does,
but it probably does some odd witchcraft to support adding sites to
Start or the taskbar. Docs don't seem to exist. Until they update the
docs, I'll assume that adding MS icons would mean supporting a
non-standard IE-specific feature.

Due to its simplicity, my site should render fine in browsers going as
far back as IE5; it even works in KHTML. But there are some lines I
won't cross: it'll probably *render* on IE5 but it won't *load* since
https://seirdy.one is TLS 1.2/1.3 only. And it won't support special
proprietary non-standard extensions.

WTF we're almost at 80 lines. I should've just written a blog post.
2020-12-15 14:34:32 -08:00
rohan kumar
19520825bb
Icons 2: electric boogaloo
- More sizes
- webmanifest file for even more versions
- symlink icons instead of copying them; fewer binaries in the repo.
2020-12-14 22:11:33 -08:00
rohan kumar
b9d22a1510
Update and cache-bust icons
- The old icon was too off-center; improve it.
- Add a mask icon
- Replace deprecated apple-touch-icon-precomposed.png with
  non-precomposed icon.
- Cache-bust all icons
2020-12-12 20:59:32 -08:00