<?xml version="1.0" encoding="utf-8"?>
  <rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:georss="http://www.georss.org/georss"
    xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
  >
    <channel>
      <title>Piccalilli - Everything</title>
      <link>https://piccalil.li/</link>
      <atom:link href="https://piccalil.li/feed.xml" rel="self" type="application/rss+xml" />
      <description>We are Piccalilli. A publication dedicated to providing high quality educational content to level up your front-end skills.</description>
      <language>en-GB</language>
      <copyright>Piccalilli - Everything 2026</copyright>
      <docs>https://www.rssboard.org/rss-specification</docs>
      <pubDate>Tue, 07 Apr 2026 01:02:04 GMT</pubDate>
      <lastBuildDate>Tue, 07 Apr 2026 01:02:04 GMT</lastBuildDate>

      
      <item>
        <title>The Index: Issue #176</title>
        <link>https://piccalil.li/the-index/176/?ref=main-rss-feed</link>
        <dc:creator><![CDATA[Andy Bell]]></dc:creator>
        <pubDate>Fri, 03 Apr 2026 11:55:00 GMT</pubDate>
        <guid isPermaLink="true">https://piccalil.li/the-index/176/?ref=main-rss-feed</guid>
        <description><![CDATA[<h2><a href="https://elenajs.com/?utm_source=the-index&amp;utm_medium=newsletter">Elena</a></h2>
<p>A very handy looking, <em>tiny</em> progressive web components library.</p>
<h2><a href="https://www.terrygodier.com/the-last-quiet-thing?utm_source=the-index&amp;utm_medium=newsletter">The last quiet thing</a></h2>
<p>A beautifully composed piece that should serve as a nice reminder to you of both how much "smart" software/devices dominate your time and also how it's not your fault!</p>
<h2><a href="https://clagnut.com/sandbox/font-size-adjust.html?utm_source=the-index&amp;utm_medium=newsletter">Font metrics calculator for font-size-adjust</a></h2>
<p>Does exactly what it says on the tin!</p>
<h2><a href="https://www.tempertemper.net/blog/theres-no-need-to-include-navigation-in-your-navigation-labels?utm_source=the-index&amp;utm_medium=newsletter">There’s no need to include ‘navigation’ in your navigation labels</a></h2>
<p>A bit like how you should avoid prefixing <code>alt</code> text with "an image", prefixing/suffixing <code>&lt;nav&gt;</code> labels with "navigation" should be avoided too.</p>
<h2><a href="https://cssdoom.wtf/?utm_source=the-index&amp;utm_medium=newsletter">cssDOOM</a></h2>
<p>Outrageously impressive stuff here! It plays surprisingly well and smoothly too.</p>
<hr />
<p>P.S. <a href="https://www.ultravulture.xyz/?utm_source=the-index&amp;utm_medium=newsletter">this is a good website</a> from <a href="https://personalsit.es/?utm_source=the-index&amp;utm_medium=newsletter">personalsit.es</a>.</p>
        
        <h2>Sponsor message</h2><a href="https://beyondtellerrand.com/events/dusseldorf-2026/tickets?utm_source=piccalilli&utm_medium=the-index"><img src="https://piccalil.b-cdn.net/images/ads/btconf-dus26.jpg" alt="Let’s go beyond" /></a><p><strong>beyond tellerrand returns to Düsseldorf on 27–28 April 2026.</strong></p>
<p>A single-track conference where design and technology meet. No fluff, just honest talks and the kind of conversations that stay with you. 500+ peers, one welcoming community.</p>
<p>Places are limited. Secure yours today.</p>
<p><a href="https://beyondtellerrand.com/events/dusseldorf-2026/tickets?utm_source=piccalilli&utm_medium=the-index">Reserve your seat</a></p>]]></description>
        
      </item>
    
      <item>
        <title>A quick guide to creating syndication feeds</title>
        <link>https://piccalil.li/blog/a-quick-guide-to-creating-syndication-feeds/?ref=main-rss-feed</link>
        <dc:creator><![CDATA[Declan Chidlow]]></dc:creator>
        <pubDate>Thu, 02 Apr 2026 11:55:00 GMT</pubDate>
        <guid isPermaLink="true">https://piccalil.li/blog/a-quick-guide-to-creating-syndication-feeds/?ref=main-rss-feed</guid>
        <description><![CDATA[<p>News of RSS' death following the <a href="https://en.wikipedia.org/wiki/Google_Reader#Discontinuation">demise of Google Reader</a> has been greatly exaggerated. RSS is alive, well, and as omnipresent as ever. You aren't properly publishing content on the web if you aren't also publishing in syndication formats.</p>
<p>This is a general guide designed to help you understand, build, and distribute various formats of web feeds, even if you've never touched them before. We're not going to run through all the uses and details of syndication feeds, because they've been covered ad nauseam elsewhere. Instead, this article is designed to act as a reference which focuses on the principles of various feed formats so that people can subscribe to your content.</p>
<p>Consider this your article as a point of entry, or reference cheat-sheet.</p>
<div><h2>FYI</h2>
<p>In most cases, you won't need to hand-roll your own feeds. Most tools you encounter already have functionality for generating them automatically, but understanding them is to your strength.</p>
<p>This knowledge doesn't just apply to creating feeds but also parsing them and using them. In any case, when things go awry, actually understanding the formats will help you get back on track.</p>
</div>
<h2>RSS</h2>
<p>RSS has the best support out of any feed format but is also the oldest and has some design issues that can make it unideal. RSS files should be served with the MIME type <code>application/rss+xml</code>. For an example of a full RSS feed, you can view the feed for <a href="https://piccalil.li/the-index/">The Index</a>: <a href="https://piccalil.li/the-index/feed.xml">https://piccalil.li/the-index/feed.xml</a></p>
<h3>Boilerplate</h3>
<p>Like all of the formats this article will be discussing, RSS is just text. In this case, structured XML. RSS wraps everything in an <code>&lt;rss&gt;</code> tag with a version number, and then a single <code>&lt;channel&gt;</code> tag, which all of our RSS content will be held within.</p>
<pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;rss version="2.0"&gt;
  &lt;channel&gt;
  &lt;/channel&gt;
&lt;/rss&gt;
</code></pre>
<h3>Metadata</h3>
<p>Before listing our articles, we need to describe the feed itself. We are required to have at least a <code>title</code>, <code>link</code>, and <code>description</code>, like so:</p>
<pre><code>&lt;title&gt;Name of our feed&lt;/title&gt;
&lt;link&gt;https://example.com&lt;/link&gt;
&lt;description&gt;A short description of the feed.&lt;/description&gt;
</code></pre>
<p>However, there are also many additional optional values we can include: <code>language</code>, <code>copyright</code>, <code>managingEditor</code>, <code>webMaster</code>, <code>pubDate</code>, <code>lastBuildDate</code>, <code>category</code>, <code>generator</code>, <code>docs</code>, <code>cloud</code>, <code>ttl</code>, <code>image</code>, <code>rating</code>, <code>textInput</code>, <code>skipHours</code>, <code>skipDays</code>.</p>
<p>Dates in RSS conform to <a href="https://www.w3.org/Protocols/rfc822/#z28">RFC-822</a>. This means they look like this: <code>Tue, 11 Jun 2024 15:00:00 GMT</code>. Though RFC-822 does permit two-digit years, four digits are widely preferred.</p>
<h3>Items</h3>
<p>Items are the individual entries in your RSS feed, whether they be posts or something else. There are two schools of thought for what content should be included here. One follows the idea that feeds should contain the entire content, unabridged. Others think that feeds should only contain a summary of the content and that it should be read on the site. The preference differs by user, but there is no downside to supplying both if you wish.</p>
<p>The items are the meat of the feed. You loop through your posts and output an item for each one. In RSS, each post is an <code>&lt;item&gt;</code>. All elements in an item are optional, but you must have at least a title or description.</p>
<pre><code>&lt;item&gt;
  &lt;title&gt;A quick and easy guide to Markdown&lt;/title&gt;
  &lt;link&gt;https://piccalil.li/blog/markdown-guide/&lt;/link&gt;
  &lt;pubDate&gt;Tue, 11 Jun 2024 15:00:00 GMT&lt;/pubDate&gt;
  &lt;description&gt;This is the summary of the post...&lt;/description&gt;
&lt;/item&gt;
</code></pre>
<p>As a word on etiquette, don't publish items with future dates. Most feed readers will just omit them, but some will display them at the top, which is attention-grabbing. Many users consider this bad manners and will probably unsubscribe.</p>
<p></p>
<h2>Atom</h2>
<p>Like RSS, Atom is XML-based, but is a little bit stricter and more finely specced than RSS, which makes it slightly less forgiving to author, but much nicer to parse. Atom files should be served with the MIME type <code>application/atom+xml</code>.</p>
<p>You can see a full example of an Atom feed <a href="https://sample-feeds.rowanmanning.com/examples/64968fb0e3685ef07a3e2a27b8d64c01/feed.xml">here</a>.</p>
<h3>Boilerplate</h3>
<p>Atom uses a root <code>&lt;feed&gt;</code> element and requires an XML namespace (<code>xmlns</code>).</p>
<pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;feed xmlns="http://www.w3.org/2005/Atom"&gt;
&lt;/feed&gt;
</code></pre>
<h3>Metadata</h3>
<p>You need an <code>id</code>, <code>title</code>, and an <code>updated</code> timestamp. The homepage URL is often used for the <code>id</code> value. <code>author</code> is also required, unless every single entry has an <code>author</code> value.</p>
<p>Atom dates are written in accordance with <a href="https://www.rfc-editor.org/rfc/rfc3339">RFC-3339</a>, which is based on ISO-8601, and looks like this: <code>2024-06-11T15:00:00Z</code>.</p>
<pre><code>&lt;title&gt;Piccalilli&lt;/title&gt;
&lt;link href="https://piccalil.li/"/&gt;
&lt;updated&gt;2024-06-11T15:00:00Z&lt;/updated&gt;
&lt;id&gt;https://piccalil.li/&lt;/id&gt;
&lt;author&gt;
  &lt;name&gt;Andy Bell&lt;/name&gt;
&lt;/author&gt;
</code></pre>
<h3>Entries</h3>
<p>In Atom, each post is an <code>&lt;entry&gt;</code>. Only <code>id</code>, <code>title</code>, and <code>updated</code> value are required, though you can optionally include <code>author</code>, <code>content</code>, <code>link</code>, <code>summary</code>, <code>category</code>, <code>contributor</code>, <code>published</code>, <code>rights</code>, and <code>source</code>. <code>id</code> must be unique for the entry and must not change.</p>
<pre><code>&lt;entry&gt;
  &lt;title&gt;A quick and easy guide to Markdown&lt;/title&gt;
  &lt;link href="https://piccalil.li/blog/markdown-guide/"/&gt;
  &lt;id&gt;https://piccalil.li/blog/markdown-guide/&lt;/id&gt;
  &lt;updated&gt;2024-06-11T15:00:00Z&lt;/updated&gt;
  &lt;summary&gt;This is the summary...&lt;/summary&gt;
&lt;/entry&gt;
</code></pre>
<h2>JSON Feed</h2>
<p>JSON Feed is the newest format discussed here and, as the name suggests, is JSON based rather than XML based. JSON Feed files should be served with the MIME type <code>application/feed+json</code>.</p>
<p>For an example of a JSON Feed, you can view the one for posts on my personal website: <a href="https://vale.rocks/posts/feed.json">https://vale.rocks/posts/feed.json</a></p>
<h3>Boilerplate and metadata</h3>
<p>JSON Feed doesn't have much boilerplate compared to RSS and Atom. You must create an object, and that object must contain the JSON Feed version and a <code>title</code>. Though there are many optional values, many of which you should include: <code>home_page_url</code>, <code>feed_url</code>, <code>description</code>, <code>user_comment</code>, <code>next_url</code>, <code>icon</code>, <code>favicon</code>, <code>authors</code>, <code>language</code>, <code>expired</code>, and <code>hubs</code>.</p>
<pre><code>{
	"version": "https://jsonfeed.org/version/1.1",
	"title": "My Blog"
}
</code></pre>
<h2>Items</h2>
<p>Items is represented as an array. The only truly required values are <code>id</code> — which uniquely identifies the item — and <code>content_html</code> and/or <code>content_text</code>. The optional values are <code>url</code>, <code>external_url</code>, <code>title</code>, <code>summary</code>, <code>image</code>, <code>banner_image</code>, <code>date_published</code>, <code>date_modified</code>, <code>authors</code>, <code>tags</code>, and <code>language</code>.</p>
<p>You can also provide attachments on an item.</p>
<pre><code>"items": [
    {
        "id": "1",
        "content_text": "This is an item in the feed.",
        "url": "https://example.org/item-one"
    }
]
</code></pre>
<h2>Auto-discovery</h2>
<p>Many feed readers and other tools can automatically detect your feeds if you configure them correctly. You should add <code>&lt;link&gt;</code> tags to the <code>&lt;head&gt;</code> of your HTML to aide discovery.</p>
<pre><code>&lt;link rel="alternate" type="application/rss+xml" title="My Site's RSS Feed" href="https://example.com/rss.xml" /&gt;
&lt;link rel="alternate" type="application/atom+xml" title="My Site's Atom Feed" href="https://example.com/atom.xml" /&gt;
&lt;link rel="alternate" type="application/feed+json" title="My Site's JSON Feed" href="https://example.com/feed.json" /&gt;
</code></pre>
<p>Different tools interpret these tags differently. Some feed readers will, for example, provide users with the choice to select what feed they want from the provided options. Others will pick the first valid feed in the list, or pick the last. There is, unfortunately, very little consistency.</p>
<p></p>
<h2>Implementation gotchas</h2>
<p>Feeds are consumed by all sorts of tools in all sorts of contexts, so what works in one case might cause issues in another. It is important to stick close to the specs and consider defensive precautions.</p>
<h3>Relative content</h3>
<p>Feed readers are disconnected from your site. Relative links like <code>&lt;img src="/images/cat.jpg"&gt;</code> will often break because they are not relative to the website. Some feed readers may work around this problem, but you should convert all links (images, anchors, etc) to full, absolute URLs to ensure they work in all contexts.</p>
<h3>Encoding</h3>
<p>One of XML's most notorious attributes is that it is rather fragile. For example, if your blog post title is <code>Tips &amp; Tricks</code>, and you put that raw into XML, it breaks:</p>
<pre><code>&lt;title&gt;Tips &amp; Tricks&lt;/title&gt;
</code></pre>
<p>This is due to the <code>&amp;</code> character being reserved. For cases like this, you have two main options:</p>
<ol>
<li>
<p><strong>Entity Escaping</strong> <br />
Convert special characters to their HTML entities.</p>
<pre><code>&lt;title&gt;Tips &amp;amp; Tricks&lt;/title&gt;
</code></pre>
</li>
<li>
<p><strong>CDATA</strong> <br />
Wrap the whole thing in a CDATA block. This tells the XML parser, 'Ignore everything inside here. It's literally just text', which is great for the body of your content where you have lots of HTML tags and special characters, where it might be laborious to transform them.</p>
<pre><code>&lt;description&gt;
  &lt;![CDATA[
    &lt;p&gt;Here are my &lt;strong&gt;Tips &amp; Tricks&lt;/strong&gt;...&lt;/p&gt;
  ]]&gt;
&lt;/description&gt;
</code></pre>
</li>
</ol>
<h3>Feed access controls</h3>
<p>We often configure bot and scraping protection on our sites, but in this case we <em>want</em> our feeds to be scraped. We also likely want to make images and other resources able to be displayed in readers, so we may need to relax our protections. Our sites are also often served cached. Ensure your caching policy aligns with your feed updates — there is no point updating a feed if the cache means it won't reach readers!</p>
<p>Something else worth keeping in mind are security policies, such as CORS. While feeds are usually fetched server-side by aggregators, some web-based feed readers fetch feeds directly via the browser. Setting an <code>Access-Control-Allow-Origin: *</code> header on your XML/JSON files ensures these web-based clients don't get blocked by security policies.</p>

<p><a href="https://www.blogsareback.com/guides/enable-cors?platform=Netlify">There’s a great resource here</a> to help you with CORS, by the browser-based RSS reader, <a href="https://www.blogsareback.com/">Blogs Are Back</a>.</p>

<h3>Limited display</h3>
<p>Many feed readers only display certain elements, such as text, images, and blockquotes, then apply their own formatting. This makes proper semantic HTML important, because non-semantic elements will not be understood or styled by readers.</p>
<p>The removal of provided formatting could cause issues if your content is complex or dynamic. In such a case, it can be worth only providing a summary or incorporating a notice directly into your feed noting that the content is best viewed on the web.</p>
<h2>Validation and testing your feeds</h2>
<p>Checking your feeds are proper by eye can be tricky, which is where validators are valuable.</p>
<ul>
<li>For RSS and Atom, you can use the <a href="https://validator.w3.org/feed/">W3C Feed Validation Service</a>.</li>
<li>For JSON Feeds, you can use the <a href="https://validator.jsonfeed.org/">JSON Feed Validator</a>.</li>
</ul>
<p>These validators will catch those pesky date format errors and unescaped content instantly. There are also many libraries and other tools out there that you can incorporate as part of your processes so that broken feeds are caught before they can hit production.</p>
<p>You should also try opening your feeds in a few feed readers and other syndication feed tools, just to confirm all works without issue — much like you already test a website across a few browsers.</p>
<h2>Wrapping up</h2>
<p>This article has only skipped along the top of the syndication feed ocean but has hopefully given you a level of knowledge ready to start building feeds. Having feeds for your content is not just vital for distribution but also contributes to a strong and healthy web.</p>
<p>If you're looking to dive deep into the feed ocean, these further reading links will hopefully provide you with some solid entry points:</p>
<ul>
<li><a href="https://www.rssboard.org/rss-specification">RSS 2.0 Specification</a></li>
<li><a href="https://validator.w3.org/feed/docs/atom.html">Introduction to Atom</a></li>
<li><a href="https://www.rfc-editor.org/rfc/rfc4287">RFC 4287: The Atom Syndication Format</a></li>
<li><a href="https://www.jsonfeed.org/version/1.1/">JSON Feed Version 1.1 Explainer</a></li>
</ul>
        
        ]]></description>
        
      </item>
    
      <item>
        <title>The Index: Issue #175</title>
        <link>https://piccalil.li/the-index/175/?ref=main-rss-feed</link>
        <dc:creator><![CDATA[Andy Bell]]></dc:creator>
        <pubDate>Fri, 27 Mar 2026 11:55:00 GMT</pubDate>
        <guid isPermaLink="true">https://piccalil.li/the-index/175/?ref=main-rss-feed</guid>
        <description><![CDATA[<h2><a href="https://css-tricks.com/javascript-for-everyone-destructuring/?utm_source=the-index&amp;utm_medium=newsletter">JavaScript for Everyone: Destructuring</a></h2>
<p>Mat explains the ever-useful, but sometimes hard to understand destructuring assignment in JavaScript.</p>
<h2><a href="https://mode.place/?utm_source=the-index&amp;utm_medium=newsletter">Mise en Mode</a></h2>
<p>A very good methodology for design systems now has a book!</p>
<h2><a href="https://tylergaw.com/blog/the-old-internet-is-still-here/?utm_source=the-index&amp;utm_medium=newsletter">The old internet is still here</a></h2>
<p>A great reminder for us all. Don't get nostalgic and get surfing instead.</p>
<h2><a href="https://report.zeroheight.com/?utm_source=the-index&amp;utm_medium=newsletter">2026 design systems report</a></h2>
<p>Another year and another design systems report, this time delivered with a lovely, texture-rich UI.</p>
<h2><a href="https://orionmagazine.org/article/paper-birds/?utm_source=the-index&amp;utm_medium=newsletter">Paper birds</a></h2>
<p>Some stunning, physical art for you to enjoy.</p>
<hr />
<p>P.S. <a href="https://mbbischoff.com/?utm_source=the-index&amp;utm_medium=newsletter">this is a good website</a> from <a href="https://personalsit.es/?utm_source=the-index&amp;utm_medium=newsletter">personalsit.es</a>.</p>
        
        <h2>Sponsor message</h2><a href="https://piccalil.li/courses?utm_source=the-index&utm_campaign=next-level-2026"><img src="https://piccalil.b-cdn.net/images/ads/next-level-event-newsletter.png" alt="Save 20% on all courses" /></a><p><strong>Take your career to the next level by taking our premium courses and save 20%</strong>.</p>
<p>Use the code <code>NEXTLEVEL</code> at checkout to get our courses for only <strong>£199.20</strong>.</p>
<p>By taking our courses, you’re supporting independent publishing, rooted in doing right for workers in design, development and leadership.</p>
<p><a href="https://piccalil.li/courses?utm_source=the-index&utm_campaign=next-level-2026">Take your career to the next level</a></p>]]></description>
        
      </item>
    
      <item>
        <title>Applying accessibility fixes with stealth for the greater good</title>
        <link>https://piccalil.li/blog/applying-accessibility-fixes-with-stealth-for-the-greater-good/?ref=main-rss-feed</link>
        <dc:creator><![CDATA[Steve Frenzel]]></dc:creator>
        <pubDate>Thu, 26 Mar 2026 11:55:00 GMT</pubDate>
        <guid isPermaLink="true">https://piccalil.li/blog/applying-accessibility-fixes-with-stealth-for-the-greater-good/?ref=main-rss-feed</guid>
        <description><![CDATA[<p>Accessibility had never really played a significant role since I started working as a front-end developer in 2019. It didn’t have a significant role in my boot camp, or in YouTube tutorials I watched, and certainly not in my job.</p>
<p>At some point I got very invested in accessibility, because it was the missing link for me in my profession. Suddenly, the things I built not only looked good, but they also worked as expected when using a keyboard and a screen reader. Slowly, practicing web development with accessibility in mind became the new normal for me. Unfortunately though, <a href="https://webaim.org/projects/million/#errors">accessibility is still far from normal in the tech industry</a>.</p>
<p>Before I get into the craft, technical aspects and how to sneak fixes in, I would first like to address that a major inspiration for this piece was <a href="https://dpersing.com/book/">The Accessibility Operations Guidebook</a> by <a href="https://dpersing.com/">Devon Persing</a>.</p>
<h2>Ableism (in the tech industry)</h2>
<p>If you haven't heard this term before, here's a summary from the <a href="https://en.wikipedia.org/wiki/Ableism">Wikipedia on ableism</a>:</p>
<blockquote>
<p>Ableism […] is discrimination and social prejudice against physically or mentally disabled people. Ableism characterises people as they are defined by their disabilities and also classifies disabled people as being inferior to non-disabled people.</p>
</blockquote>
<p>In the following, I will try to use my own experiences to illustrate when I have encountered ableism during my job.</p>
<h3>Medical model of disability</h3>
<p>Whenever I brought up the topic and pointed out barriers, it was assumed that these barriers arose or existed because people with disabilities were using the product. So the fault lies with the people, not the product.</p>
<p>This is the <a href="https://en.wikipedia.org/wiki/Medical_model_of_disability">medical model of disability</a>, which assumes that people, rather than their environment, are the problem:</p>
<blockquote>
<p>This model links a disability diagnosis to an individual's physical body. The model supposes that a disability may reduce the individual's quality of life and aims to correct or diminish the disability with medical intervention.</p>
</blockquote>
<p>As long as you can operate everything with the mouse and you can still somewhat recognise the light grey font on a white background with font size 10, everything is fine, right? This attitude is ableist because, among other things, it excludes not only keyboard users but also people with poor, or even <em>no</em> vision.</p>
<p>People with disabilities don't use the product anyway, so why invest time and money to make it accessible to a few blind people, right? This attitude is also ableist, because in Germany alone, the <a href="https://www.destatis.de/EN/Themes/Society-Environment/Health/Disabled-People/_node.html">official number of people with severe disabilities</a> is 7.9 million, and the real number is very likely much higher. From an economic point of view alone, it makes no sense to ignore the potential purchasing power of these people.</p>
<p><a href="https://en.wikipedia.org/wiki/Medical_model_of_disability">Wikipedia explicitly addresses this very attitude</a>:</p>
<blockquote>
<p>In ableist societies, the lives of disabled people are considered less worth living, or disabled people less valuable, even sometimes expendable.</p>
</blockquote>
<p>This ableist attitude is reflected in statements such as “We don't have any customers with disabilities.” or “We don't have any blind users, so it doesn't need to be keyboard-accessible.” These and many other myths are debunked on the <a href="https://a11ymyths.com/">Accessibility Myths Debunked</a> website. Fortunately, there is also a counter-model for this, namely:</p>
<h3>Social model of disability</h3>
<p>The <a href="https://en.wikipedia.org/wiki/Social_model_of_disability">social model of disability</a> is summarised as follows on Wikipedia:</p>
<blockquote>
<p>The social model of disability proposes that people are disabled by systemic barriers, negative attitudes, and social exclusion, rather than by their own physical or mental differences.</p>
</blockquote>
<p>Here, we recognise that the problem is not <em>people</em> with disabilities who can only use the product to a limited extent or not at all. Instead, it shows us that <em>we ourselves</em> have created these barriers through our ableist attitudes.</p>
<p>This realisation can lead us to start making real changes and improvements, starting with the people, through the tools we use every day, to the product we create.</p>
<p>My personal recommendation is always to start with the <a href="https://webaim.org/projects/million/#wcag">six most common problems</a> and then continue with the <a href="https://www.w3.org/WAI/test-evaluate/easy-checks/">Easy Checks</a>. Many so-called “low hanging fruits” can be detected using automated tools such as <a href="https://www.tpgi.com/arc-platform/arc-toolkit/">ARC Toolkit</a>, <a href="https://www.deque.com/axe/devtools/">Axe DevTools</a>, and <a href="https://wave.webaim.org/">WAVE</a>. This makes it easier to document and fix problems at the beginning before tackling more complex issues where these tools reach their limits.</p>
<p>However, we still need to dig deeper to understand why this article you’re reading right now, exists in the first place.</p>
<p>With a few exceptions, the teams I work in have been, and continue to be predominantly white and male. This is certainly also due to the fact that I live and work in Germany, which is why I asked my friends who also work in development how diverse their working environment is.</p>
<p>Their situation is similar to mine (they also live and work in Germany), and they too have noticed that female colleagues are more likely to be found in the design, marketing, and management departments. In development, however, their colleagues are also predominantly white and male, which brings me to the next topic:</p>
<p></p>
<h2>Battling against ableism in the tech industry</h2>
<p>In her essay <a href="https://www.whitesupremacyculture.info/">White Supremacy Culture</a>, Tema Okun touches on many topics that overlap with my professional career as a front-end developer. Lots of companies seem to have embodied and implemented these awful characteristics and from what I can tell, this seems to be the default behaviour. The <a href="https://en.wikipedia.org/wiki/White_Supremacy_Culture#Contents">Wikipedia article on her essay</a> lists 15 characteristics, of which I will quote three that I have experienced myself:</p>
<blockquote>
<p><strong>Sense of urgency:</strong> Emphasising speed and immediate results at the cost of thoughtful reflection or long-term solutions.</p>
</blockquote>
<p>Who among you has been told that there is no time or money to make the product accessible? Or that it will be done later because it has to go live now due to pressure from management and/or stakeholders?</p>
<p>This <a href="https://en.wikipedia.org/wiki/Meta_Platforms#History">move fast and break things</a> attitude leads to products reaching the market that were created for the majority but exclude minorities. In addition, in the long term, it can lead to enormous time and cost expenditures if accessibility is only considered at the end of the cycle.</p>
<p>If <a href="https://www.deque.com/blog/design-code-thinking-accessibility-ground/">companies shift to the left</a> instead and work according to the motto <a href="https://piccalil.li/complete-css/lessons/5">“Slow is smooth. Smooth is fast.”</a> they will not only aim to create the most inclusive product possible, but also offer added value in other areas:</p>
<ul>
<li>You reach a larger customer base</li>
<li>The risk of being sued can be vastly reduced or even completely eliminated</li>
<li>By focusing on accessibility, product quality and employee mindset can be greatly improved</li>
</ul>
<p>The whole team is responsible, not just the development team. We can only make lasting changes and avoid making people responsible if we take a comprehensive approach that includes everyone.</p>
<blockquote>
<p><strong>Quantity over quality:</strong> Prioritising "things that can be measured" over things that cannot, such as relationships and conflict resolution.</p>
</blockquote>
<p>It is now (for better or worse) normal for websites to measure where people click, how long they watch videos, whether they skip certain sections, and so on. Thanks to automated testing, many accessibility issues can also be recorded as metrics. However, this does not mean that a product is 100% accessible as soon as these tests no longer show any errors! You can <a href="https://www.matuzo.at/blog/building-the-most-inaccessible-site-possible-with-a-perfect-lighthouse-score/">build the most inaccessible website with a perfect Lighthouse score</a>, as Manuel Matuzović has impressively proven. Automated tests are an indicator of how compliant something is, but not how well people can actually use it.</p>
<p>That's why it's very difficult, if not impossible, to quantify the return on investment (ROI) for accessibility. So-called “invisible wins” are particularly difficult to sell if the focus is not on the structure, but only on the appearance of a product.</p>
<p>If you just click through with the mouse, quality of life improvements such as consistent, clearly visible keyboard focus, landmark elements, and the correct use of <a href="https://www.w3.org/WAI/standards-guidelines/aria/">WAI-ARIA</a> unfortunately go unnoticed.</p>
<p>Simply taking these three things into account can lead to more people being able to use the product, regardless of whether they have a disability or not. This can lead to more satisfied customers, who are very likely to recommend the product to others. This can expand the customer base, which in turn can lead to increased sales.</p>
<blockquote>
<p><strong>Only one right way:</strong> Believing that there is only one correct way to do things, excluding diverse approaches and perspectives.</p>
</blockquote>
<p>One of the websites I share most often is <a href="https://viewports.fyi/">The ideal viewport doesn't exist</a>. It uses real data and practical examples to show us that it no longer makes sense to stick to the rigid concept of breakpoints. How are you supposed to know what screen width a “desktop,” “tablet,” or “phone” has?</p>
<p>Doesn't it make much more sense to <a href="https://buildexcellentwebsit.es/">be the browsers mentor, not its micromanager</a>? We have long had the ability to implement <a href="https://utopia.fyi/">fluid typography and UI</a> that adapts to the respective screen widths. CSS allows us to do this thanks to <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Cascading_variables/Using_custom_properties">custom properties</a>, the <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/clamp">clamp()</a> and <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/minmax">minmax()</a> functions, and <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/At-rules/@container">container queries</a>.</p>
<p>The advantages are as numerous as they are obvious:</p>
<ul>
<li>No need to think up or research arbitrary breakpoint sizes. A design is created for the maximum and minimum width, and browsers take care of everything in between.</li>
<li>Realising that the pixel-perfect approach is like chasing the dragon: it's the pursuit of an unattainable goal. Designs for websites are just paintings of them. <a href="https://adamsilver.io/blog/design-in-code-get-praise/">Actual software is alive; it responds, it adapts, it moves, it errors, it loads.</a></li>
<li>The amount of CSS code can be drastically reduced because edge cases no longer need to be taken into account. <a href="https://ishadeed.com/article/cascade-layers/">Cascade layers</a> could then be used for fine-tuning.</li>
<li>The code base is easier to read, more robust, and future-proof because these features tend to be used more in the foreseeable future.</li>
</ul>
<p>Am I making sense here? I think I do! After I made this pitch, however, the reactions were mostly “but we've always done it this way” (<em>love</em> this one) or “But what breakpoint sizes do we use then?” in addition to huge question marks above the heads of the respective recipients.</p>
<p>My suggestion to modify a small side project or the current main project according to this principle was often rejected because the concept is too new, too alien and people would have to move out of their comfort zone and adapt their way of working.</p>
<p>After dealing with these uncomfortable topics that need to be addressed and discussed, and perhaps feeling that it is impossible for you to bring about any change, you may ask yourself the following:</p>
<p></p>
<h2>Why would you do it if it’s not part of your job?</h2>
<p>Perhaps, like me, you are officially a front-end developer and your contract more or less specifies your area of responsibility. So why should you be doing the work of an accessibility practitioner / designer / engineer? My answer is always: because it's <strong>part of the work</strong>.</p>
<p>Among all the things that lead from the initial idea to the final website, I don't see any distinction between ‘normal’ work (i.e. what's in your contract) and work in the realm of accessibility. Three examples from the top of my head to get my point across:</p>
<ol>
<li>The work is not done if the thing we are working on cannot be operated with a keyboard</li>
<li>The work is not done if complex widgets do not have a meaningful semantic role and an accessible name</li>
<li>The work is not done if there are problems with colour contrast because the brand colours are always to be used</li>
</ol>
<p>As already mentioned, accessibility is not yet as normalised as many other topics. But if it is as important to you as it is to me, you will have to ask yourself another question:</p>
<h2>Why wouldn’t you tell your boss?</h2>
<p>Here, too, the answer can be complex and individual. A few possible scenarios could be:</p>
<h3>It’s not part of your job description</h3>
<p>If your employer thinks that accessibility isn't part of your job and is something separate, then they're not entirely wrong. If you're dealing with this issue at management level, for example, in order to integrate it into all processes throughout the company, it really is a full-time job. But I digress!</p>
<p>Your contract does not explicitly state that accessibility is part of your job, and you don't want to fall out with your employer. It may also be that you have a very strict employer, which would be another reason to keep it secret.</p>
<h3>“No time and money for accessibility”</h3>
<p>One of the most popular myths! This one is also disproved succinctly at <a href="https://a11ymyths.com/">Accessibility Myths Debunked</a>:</p>
<blockquote>
<p>It may not be the case if accessibility is considered from the beginning of the project and a development team has proper skills. When accessibility has become a habit, the <strong>development time doesn't change</strong> or changes a little.</p>
</blockquote>
<p>Unfortunately, that doesn't change the fact that your boss insists on it and you feel compelled to improve the website behind their back.</p>
<h3>No interest or pushback</h3>
<blockquote>
<p>“I don't give a damn about accessibility, I'm not interested in it! But I think it's good that you're involved in it and know about it.”</p>
</blockquote>
<p>This is something a front-end developer once said to me. They simply have no interest because they have never used a website with a keyboard in their lives or are firmly convinced <a href="https://tetralogical.com/blog/2025/12/03/common-misconceptions-about-disability/">that it only affects people with disabilities</a>, who are not their customers anyway. Could this be because the website is not accessible? Maybe, but I don't want to digress again!</p>
<p>They may even react irritably or go on the offensive when you bring up the subject. This can happen very quickly when you show people that they have an ableist approach to an issue. Caution is advised here, because it can quickly become personal. That would be another reason to take a low-key approach to the issue.</p>
<p>Do these scenarios sound familiar, and do you still see it as your responsibility to make the product you are working on as accessible as possible, even though it is not officially your job? Then, in the following sections, we will discuss how to find allies and work with them to create leverage.</p>
<h2>Culture, climate and power lines</h2>
<p>In this scenario, we assume that we will not receive any support “from the top” and will have to organise ourselves like a <a href="https://en.wikipedia.org/wiki/Grassroots">grassroots movement</a> from the bottom up. For this to work, we need allies, no matter how big or small our company is. This will not only help us to distribute tasks and responsibilities, but also <a href="https://aaardvarkaccessibility.com/accessibility-without-burnout/">reduce the potential psychological pressure</a> that can come with it.</p>
<p>To understand how we can reach and communicate with the respective people, we need to understand the difference between culture and climate and how we can use power lines for our purposes. The following quotes are taken directly from The Accessibility Operations Guidebook by Devon Persing:</p>
<blockquote>
<p>Organisations are impacted both by their <strong>culture</strong>, which is driven by a minority in leadership, and their <strong>climate</strong>, which is driven by the majority of people in the organisation. Resources, support and information flow through organisations along <strong>power lines</strong>.</p>
</blockquote>
<p>She further explains that “organisational culture is formal and systemic”, while “organisational climate is informal, a kind of ‘shared perception’ of the organisation’s day-to-day”.</p>
<blockquote>
<p><strong>People in official leadership roles create an organisation’s culture.</strong> They communicate this culture to other members through management.</p>
</blockquote>
<p>This can be understood as the “official stance of the organisation”, like a mission statement, for example. It is “perpetuated in the same way it is in the larger culture, with ceremonies and rituals (meetings, events) and institutional myths (stories) by leadership.”</p>
<blockquote>
<p><strong>Climate, in comparison to culture, is less official. It’s a vibe.</strong> It’s the feel of the organisation, how structured or loosey-goosey it is.</p>
</blockquote>
<p>This describes “how much freedom workers really have, and how much actual support they have from leadership to try new things or make the workplace better.”</p>
<p>She continues by explaining that culture (top) can obviously can push down on climate (bottom), but that climate can also push up on culture.</p>
<p>One example for the former is “an organisation requiring workers to return to corporate offices with the supposed end of the COVID-19 pandemic, despite public opinion and scientific data supporting the positives of working from home.”</p>
<p><a href="https://pubmed.ncbi.nlm.nih.gov/35162145/">Healthy and Happy Working from Home? Effects of Working from Home on Employee Health and Job Satisfaction</a></p>
<p>An example for the latter is “the wave of <a href="https://en.wikipedia.org/wiki/Diversity,_equity,_and_inclusion">diversity, equality and inclusion</a> (DEI) efforts that happened because of Black workers’ need to hold space around ongoing and escalating police brutality.”</p>
<p><a href="https://scholarlycommons.law.emory.edu/ecgar/vol8/iss1/6/">How the Black Lives Matter Movement Enhanced Corporate Governance in 2020</a></p>
<blockquote>
<p>In an organisation, power lines are usually connected to people like managers who represent their teams or departments. […] The way that culture and climate can push each other is a form of power […]</p>
</blockquote>
<p>She explains that “power lines are usually connected to people like managers who represent their teams or departments.” and she’s mentioning specialists, meaning people that have a focus on a certain topic, who can “become conduits for these types of lines, too”.</p>
<p>In case of the (accessibility) specialist, she’s warning that it can be “easy to become a bottleneck for other people while you’re trying to do accessibility work across an organisation, even if that’s not your intent.”</p>
<p>With this basic understanding, let's look at the most important point so that we can successfully sneak in accessibility fixes without telling our boss.</p>
<h2>Finding allies</h2>
<p>I'll be honest with you: I can't give you bulletproof instructions on how to find allies in your company because it depends on so many variables, including (but not limited to):</p>
<ul>
<li>Your personality, professional experience, expertise, and rhetorical skills</li>
<li>The culture and climate in your current company</li>
<li>The personality, professional experience, expertise, and rhetorical skills of your colleagues</li>
</ul>
<p>Instead, I'll tell you a few anecdotes about how I've been able to make a difference in the area of accessibility, sometimes more, sometimes less.</p>
<h3>Being upfront</h3>
<p>As I wrote at the beginning, it was only during the course of my career that I began to focus clearly on the topic of accessibility. At a certain point, I made it very clear in interviews (for permanent positions and freelance jobs alike) that I would be concentrating on this area.</p>
<p>My pitch was more or less what I wrote under <a href="#why-would-you-do-it-if-its-not-part-of-your-job"><em>Why would you do it, if it’s not part of your job?</em></a> I also made it clear that I work holistically and don't see the topic as my sole responsibility. It affects development, design, management, human resources, and other departments equally.</p>
<p>When I was first introduced to a team, it was mentioned that I was very knowledgeable about the topic and an expert (which is not true, and I clarified that right away). I was also allowed to repeat my pitch in front of the assembled team, which signalled to interested colleagues, “Aha, he's one of us!” or “Nice, I have a few questions on the topic.”</p>
<p>From that point on, I was “the accessibility guy,” which can have advantages, but also disadvantages, as some colleagues might associate it with something negative. Very often, people approached me proactively afterwards or were very open when I talked about it. Not just developers and designers, but also product owners and marketing people!</p>
<h3>Sharing knowledge</h3>
<p>As mentioned earlier, I don't see it as my responsibility to carry the burden of this issue alone. That's why I first check the respective communication tool (Slack, Teams, etc.) to see if there is a channel for accessibility so that I can share knowledge.</p>
<p>Unfortunately, in the past, creating this channel and inviting people has not been very effective. Either the topic is too overwhelming for them, or they are not interested because it is not directly related to their daily business. More often than not, I was just screaming into the void, and there was no real interaction except for an emoji here and there.</p>
<p>Since we are pursuing a grassroots movement approach, I recommend instead looking for a channel where knowledge is actively shared among developers and/or designers. Maybe there are even a few people from management in this channel! In any case, this channel must be alive.</p>
<p>Here I often share articles that I read in my favourite newsletters: <a href="https://a11yweekly.com/">Accessibility Weekly</a>, <a href="https://webweekly.email/">Web Weekly</a>, and <em>of course</em> <a href="https://piccalil.li/the-index/">The Index</a>. These sources provide enough material to keep the digital fire burning and share something at least once a week.</p>
<h3>Showing examples</h3>
<p>I had the biggest breakthroughs when I showed people directly on the respective product what positive effects improved accessibility can have.</p>
<p>In development, it was for example the use of native elements instead of third-party solutions. Everyone in this department is happy when <em>even more</em> dependencies and potential security risks are not added to <code>package.json</code>. Another great example for low effort and big impact: <a href="https://www.stevefrenzel.dev/posts/x-marks-the-spot-landmark-elements/">Landmark elements</a>!</p>
<p>Even seemingly small things like using headings correctly can have a big impact. Especially after I navigated them with a screen reader and explained why it is so important for users of this software. Some people were amazed that screen readers exist and that content can be consumed in this way!</p>
<p>Using the <a href="https://www.figma.com/community/plugin/732603254453395948/stark-contrast-accessibility-checker">Stark plugin for Figma</a>, I was able to show designers how they can take this topic into account during creation and handover. I even wrote an article about it, <a href="https://www.stevefrenzel.dev/posts/fuck-off-to-hand-off-holistic-web-design/">“Fuck off” to hand-off: Holistic web design</a>.</p>
<p></p>
<h2>Different roles require different techniques</h2>
<p>I'm an RPG fan, by which I mean Final Fantasy 7 to 12, Dragon Quest, Ni No Kuni, you name it. That's why in this section I'm introducing four roles (or avatars?) that have specific skills to promote accessibility within the organisation.</p>
<p>Depending on our role in the company, our skills and allies, and how much support we receive from our colleagues, we can take on different roles.</p>
<p>A role also depends on when we join a project. The earlier we become involved, the more likely it is that we will have taken on every role at some point.</p>
<h3>The adviser</h3>
<p>This is my personal favourite role, because it allows us to avoid future mistakes and do a lot of educational work.</p>
<p>Is the project supposed to be a simple landing page that won't really be maintained by the customer, or hardly at all? Then we can advise against using heavyweights like React or Vue.js and instead recommend a static site generator like <a href="https://astro.build/">Astro</a> or <a href="https://www.11ty.dev/">Eleventy</a> (now called Build Awesome).</p>
<p>Do your colleagues want to use a UI library to speed up the design and development process? Fair enough, but it should be tested beforehand to ensure that it is accessible and that, in individual cases, <a href="https://paulmakeswebsites.com/writing/shadcn-radio-button/">components can be replaced with native HTML elements</a>.</p>
<p>This stage of the process is also a good time to talk about <a href="https://piccalil.li/blog/its-about-time-i-tried-to-explain-what-progressive-enhancement-actually-is/">progressive enhancement</a>. Not only does it bring many benefits for users, but it will also increase the skill level of the designers and developers involved.</p>
<h3>The mediator</h3>
<p>This role can overlap somewhat with that of an adviser, depending on how open and flexible the designers are, how good our communication skills are, and how much time is available for any changes.</p>
<p>At this stage, designs have already been created and are ready to be handed over to development. Ideally, they will first be reviewed by a developer and only passed on once all changes have been implemented and the go-ahead has been given.</p>
<p>Here, too, we can do a lot of educational work on the topic of progressive enhancement, explain the power of native HTML and CSS, and suggest tools that make the handover even smoother. The goal is to minimise follow-up questions from the development team so that they can get started right away.</p>
<p>The article <a href="https://stephaniewalter.design/blog/accessibility-resources-tools-articles-books-for-designer/">Accessibility for designers: where do I start?</a> by Stephanie Walter is a treasure trove for exactly this scenario, providing you with the resources you need to support your designers. I also strongly agree that <a href="https://piccalil.li/blog/the-time-for-designers-to-learn-to-code-is-now/">the time for designers to learn to code is now</a>.</p>
<h3>The smuggler</h3>
<p>The following example comes from <a href="https://amberhinds.com/">Amber Hinds</a>, thank you for sharing!</p>
<blockquote>
<p>We have clients who really care about SEO, some of whom are legacy clients on marketing retainers. Because there's so much overlap, we are able to use SEO hours to fix accessibility. We put our Accessibility Checker WordPress plugin on the site to find issues and fix things like empty links, links with ambiguous anchors, headings out of order, empty or missing alternative text, etc. I don't think that these clients would ever sign up for an accessibility retainer, but because of SEO we can do it.</p>
</blockquote>
<p>We often slip into this role when we’re actively working on development and can make various small to medium fixes that don't slow us down in our main task.</p>
<p>This is not only a good “selling point” for our superiors, but also another opportunity to show our colleagues, using practical examples, that accessibility doesn't have to be difficult.</p>
<p>During these sneaky fixes, wen can often notice larger, global problems, such as:</p>
<ul>
<li>Insufficient colour contrast and font sizes</li>
<li>Poorly recognisable or non-existent keyboard focus</li>
<li>Missing or incorrectly used landmark elements</li>
</ul>
<p>These should at least be documented and, best case, turned into a ticket that can be <a href="https://intopia.digital/articles/straight-to-the-pool-room-the-pitfalls-of-placing-accessibility-issues-in-the-backlog/">dealt with in a timely manner so they won’t catch dust in the backlog</a>.</p>
<h3>The hacker</h3>
<p>This role is exclusively for developers and overlaps somewhat with the adviser role. It can be a rather passive role, as we ask, for example, whether an <a href="https://docs.deque.com/linter/4.0.0/en/using-linter-home">accessibility linter</a> is used in the code editor (very often Visual Studio Code or JetBrains) to identify potential problems during development.</p>
<p>Or whether an accessibility linter can be integrated into a <a href="https://typicode.github.io/husky/">pre-commit hook</a> so that non-accessible code cannot be pushed in the first place. Another option would be to add this linter to the pipeline.</p>
<p>Regardless of whether it is part of the definition of done (if there is one) or not: as soon as we find potential accessibility issues during a code review, we should at least leave a comment.</p>
<p>Best case, we can mark the respective pull request as “not approved” until the issue has been resolved. However, a delicate touch and open, transparent communication with our colleagues is important here so that they don't wonder why we have commented on code that is OK for them but not for us.</p>
<h2>Wrapping up</h2>
<p>This article shouldn't exist. Accessibility should be as normal in conversation as performance, security, SEO, and “AI”. Unfortunately, the tech industry has a big problem with ableism and white supremacy, which is why I wrote this article.</p>
<p>Understanding the culture, climate, and power lines within your organisation can help you find allies so you can organise like a grassroots movement from the bottom up. You can take on different roles to support each other, share knowledge and bring about change without <a href="https://en.wikipedia.org/wiki/The_Man">the man</a> noticing.</p>
<p>The most important tool when it comes to accessibility is not browser extensions, newsletter subscriptions, or screen readers. They play an important role, but none is as important as the community you have around you. Always make sure you're on the same page as your allies and that you're all working toward the same goal, even if you might take different paths to get there.</p>
        
        ]]></description>
        
      </item>
    
      <item>
        <title>The Index: Issue #174</title>
        <link>https://piccalil.li/the-index/174/?ref=main-rss-feed</link>
        <dc:creator><![CDATA[Andy Bell]]></dc:creator>
        <pubDate>Fri, 20 Mar 2026 11:55:00 GMT</pubDate>
        <guid isPermaLink="true">https://piccalil.li/the-index/174/?ref=main-rss-feed</guid>
        <description><![CDATA[<p>Just a quick note before we get into this issue. We're moving back to a once per week cadence on Fridays after this issue.</p>
<p>We've got a lot on in <a href="https://set.studio/?utm_source=the-index&amp;utm_medium=newsletter">the studio</a> right now, so making time to curate two issues a week is getting tougher. I'd rather make sure the quality of one issue is top notch.</p>
<p>The next issue will be be Friday March 27!</p>
<h2><a href="https://www.keithcirkel.co.uk/whats-my-jnd/?utm_source=the-index&amp;utm_medium=newsletter">What's My ΔE(OK) JND?</a></h2>
<p>A fun colour recognition game that gets really quite hard as you go through it!</p>
<h2><a href="https://vole.wtf/glasses-cleaning/?utm_source=the-index&amp;utm_medium=newsletter">Glasses Cleaning Simulator</a></h2>
<p>Does exactly what it says on the tin!</p>
<h2><a href="https://links.supply/?utm_source=the-index&amp;utm_medium=newsletter">Links supply</a></h2>
<p>Links auto-scraped from curated accounts, powered by Bluesky.</p>
<h2><a href="https://100jumps.org/play/?utm_source=the-index&amp;utm_medium=newsletter">100 Jumps</a></h2>
<p>Extremely addictive. Extremely frustrating. Good fun though!</p>
<h2><a href="https://comicss.art/games/12/?utm_source=the-index&amp;utm_medium=newsletter">A web technology crossword</a></h2>
<p>This is very impressive with a good use of grid and custom properties.</p>
<hr />
<p>P.S. <a href="https://ttntm.me/?utm_source=the-index&amp;utm_medium=newsletter">this is a good website</a> from <a href="https://personalsit.es/?utm_source=the-index&amp;utm_medium=newsletter">personalsit.es</a>.</p>
        
        <h2>Sponsor message</h2><a href="https://beyondtellerrand.com/events/dusseldorf-2026/tickets?utm_source=piccalilli&utm_medium=the-index"><img src="https://piccalil.b-cdn.net/images/ads/btconf-dus26.jpg" alt="Let’s go beyond" /></a><p><strong>Join beyond tellerrand in Düsseldorf, 27–28 April 2026 and help us celebrate 15 years.</strong></p>
<p>A single-track conference for designers and developers who care about craft and community. 500+ attendees, one stage, and a genuinely warm atmosphere.</p>
<p>Don't miss out and secure your place now.</p>
<p><a href="https://beyondtellerrand.com/events/dusseldorf-2026/tickets?utm_source=piccalilli&utm_medium=the-index">Reserve your seat</a></p>]]></description>
        
      </item>
    
    </channel>
  </rss>
