<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Naomi Shore&apos;s blog</title><description>Writing by Naomi Shore on front-end engineering, accessibility and building software.</description><link>https://naovixen.com/blog/</link><language>en-gb</language><atom:link href="https://naovixen.com/blog/feed.xml" rel="self" type="application/rss+xml"/><item><title>Custom radio buttons that survive high contrast mode</title><link>https://naovixen.com/blog/custom-radio-buttons-that-survive-high-contrast-mode/</link><guid isPermaLink="true">https://naovixen.com/blog/custom-radio-buttons-that-survive-high-contrast-mode/</guid><description>Styling the real input with appearance: none, and making sure it doesn&apos;t vanish when Windows forced colours kicks in.</description><pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate><category>Accessibility</category><category>CSS</category></item><item><title>Radios that reveal more, without the confusion</title><link>https://naovixen.com/blog/radios-that-reveal-more-without-the-confusion/</link><guid isPermaLink="true">https://naovixen.com/blog/radios-that-reveal-more-without-the-confusion/</guid><description>What the GOV.UK Design System taught me about radios that show an extra question, and how to build them so nobody misses what appeared.</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate><category>Accessibility</category><category>Forms</category><category>GOV.UK</category></item><item><title>Building a high contrast theme that respects the user</title><link>https://naovixen.com/blog/building-a-high-contrast-theme-that-respects-the-user/</link><guid isPermaLink="true">https://naovixen.com/blog/building-a-high-contrast-theme-that-respects-the-user/</guid><description>prefers-contrast, forced colours and a manual toggle: three different things that all get called &apos;high contrast&apos;.</description><pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate><category>Accessibility</category><category>Design tokens</category></item><item><title>Captions from scratch: from WebVTT file to interactive transcript</title><link>https://naovixen.com/blog/captions-from-scratch-streaming-webvtt-in-net/</link><guid isPermaLink="true">https://naovixen.com/blog/captions-from-scratch-streaming-webvtt-in-net/</guid><description>Native captions and a readable transcript built from the WebVTT file people upload, and the forgiving .NET parser behind them.</description><pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate><category>Accessibility</category><category>React</category><category>.NET</category><category>C#</category></item><item><title>Agentic coding without losing the plot</title><link>https://naovixen.com/blog/agentic-coding-without-losing-the-plot/</link><guid isPermaLink="true">https://naovixen.com/blog/agentic-coding-without-losing-the-plot/</guid><description>How I use AI agents in day-to-day front-end work without shipping code I can&apos;t explain.</description><pubDate>Fri, 24 Jul 2026 00:00:00 GMT</pubDate><category>AI</category><category>Process</category></item><item><title>Bridging React into AngularJS, one feature at a time</title><link>https://naovixen.com/blog/bridging-react-into-angularjs-one-feature-at-a-time/</link><guid isPermaLink="true">https://naovixen.com/blog/bridging-react-into-angularjs-one-feature-at-a-time/</guid><description>Shipping new React components inside a legacy AngularJS app, without waiting for a big-bang rewrite.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>React</category><category>AngularJS</category><category>Migration</category></item></channel></rss>