<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Access Rewind: Fix This Fast]]></title><description><![CDATA[A real-world accessibility problem + quick solution]]></description><link>https://accessrewind.substack.com/s/fix-this-fast</link><image><url>https://substackcdn.com/image/fetch/$s_!sxZg!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7191d54-f8c6-452a-ad84-b4c615e7052f_1024x1024.png</url><title>Access Rewind: Fix This Fast</title><link>https://accessrewind.substack.com/s/fix-this-fast</link></image><generator>Substack</generator><lastBuildDate>Wed, 03 Jun 2026 11:54:23 GMT</lastBuildDate><atom:link href="https://accessrewind.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[A11yAlicia]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[accessrewind@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[accessrewind@substack.com]]></itunes:email><itunes:name><![CDATA[A11yAlicia]]></itunes:name></itunes:owner><itunes:author><![CDATA[A11yAlicia]]></itunes:author><googleplay:owner><![CDATA[accessrewind@substack.com]]></googleplay:owner><googleplay:email><![CDATA[accessrewind@substack.com]]></googleplay:email><googleplay:author><![CDATA[A11yAlicia]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Solving small text and contrast issues for large-screen readability]]></title><description><![CDATA[Why your beautiful UI becomes unreadable the moment it hits a TV screen&#8212;and how to fix it.]]></description><link>https://accessrewind.substack.com/p/solving-small-text-and-contrast-issues</link><guid isPermaLink="false">https://accessrewind.substack.com/p/solving-small-text-and-contrast-issues</guid><dc:creator><![CDATA[A11yAlicia]]></dc:creator><pubDate>Thu, 04 Dec 2025 02:24:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!FJ6L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07590f99-f971-4771-b7f0-d4ee4f70d6b5_1024x953.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FJ6L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07590f99-f971-4771-b7f0-d4ee4f70d6b5_1024x953.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FJ6L!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07590f99-f971-4771-b7f0-d4ee4f70d6b5_1024x953.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FJ6L!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07590f99-f971-4771-b7f0-d4ee4f70d6b5_1024x953.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FJ6L!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07590f99-f971-4771-b7f0-d4ee4f70d6b5_1024x953.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FJ6L!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07590f99-f971-4771-b7f0-d4ee4f70d6b5_1024x953.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FJ6L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07590f99-f971-4771-b7f0-d4ee4f70d6b5_1024x953.jpeg" width="1024" height="953" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/07590f99-f971-4771-b7f0-d4ee4f70d6b5_1024x953.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:953,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:732356,&quot;alt&quot;:&quot;Hand holds a remote, searching for \&quot;series\&quot; on a TV screen. Letters and numbers appear above a row of show thumbnails. &quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://accessrewind.substack.com/i/180667152?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07590f99-f971-4771-b7f0-d4ee4f70d6b5_1024x953.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Hand holds a remote, searching for &quot;series&quot; on a TV screen. Letters and numbers appear above a row of show thumbnails. " title="Hand holds a remote, searching for &quot;series&quot; on a TV screen. Letters and numbers appear above a row of show thumbnails. " srcset="https://substackcdn.com/image/fetch/$s_!FJ6L!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07590f99-f971-4771-b7f0-d4ee4f70d6b5_1024x953.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FJ6L!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07590f99-f971-4771-b7f0-d4ee4f70d6b5_1024x953.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FJ6L!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07590f99-f971-4771-b7f0-d4ee4f70d6b5_1024x953.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FJ6L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07590f99-f971-4771-b7f0-d4ee4f70d6b5_1024x953.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The user experience for TV aligns more with billboard design than with app design, and cannot be treated as a simple enlargement of mobile interfaces. The challenges of viewing distance, screen variability, lighting conditions, and non-touch interaction all collide&#8212;and small typography and low contrast are usually the first things to break. It&#8217;s a reminder&#8212;especially on the International Day of Persons with Disabilities&#8212;that accessibility isn&#8217;t a side note, but central to resilient design.</p><p>Here&#8217;s how to fix them before your users struggle, squint, or churn.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://accessrewind.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Access Rewind! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Why TV text fails: the 10-foot problem</h2><p>Smartphone users typically hold their devices 10 to 14 inches from their face for optimal viewing, while TV viewers sit 8 to 12 feet away, affecting perceived content size and clarity. A font size comfortable on a phone may seem tiny on a TV, posing a challenge for user interface design across devices. Environmental factors worsen readability on TVs:</p><ul><li><p><strong>Bright room lighting:</strong> Overhead lights or sunlight can cause glare, reducing text and image visibility.</p></li><li><p><strong>Reflections:</strong> Reflections from surroundings can obscure content and distract viewers.</p></li><li><p><strong>Low-quality or older TVs:</strong> Older or lower-resolution TVs may display pixelated and blurry images.</p></li><li><p><strong>Compressed streamed UI layers:</strong> Compression during streaming can degrade UI quality, causing blurriness.</p></li></ul><p>These factors can make a clear mobile interface appear blurry or illegible on a TV. Designers must consider viewing distance, screen size, resolution, and conditions to ensure effective user interaction across platforms.</p><h2>Size text for actual viewing distance</h2><p>TV text needs to be larger than you think, especially for labels, menus, and metadata. Amazon TV have 10-foot-UI guidelines that include text size recommendations, of 28px minimum when viewed on a 1080p screen; however, it does not take any degree of vision loss into account, use 28px as a minimum rather than a target, aim to exceed it wherever possible.</p><h3>General safe ranges:</h3><ul><li><p><strong>Body text:</strong> 28&#8211;36 px</p></li><li><p><strong>Menu items:</strong> 32&#8211;44 px</p></li><li><p><strong>Titles:</strong> 48&#8211;80 px</p></li><li><p><strong>Subtitles &amp; captions:</strong> 55&#8211;75 px (varies by OS, often user-controlled)</p></li></ul><p>And remember: different TV OSes handle scaling differently. Roku, for example, renders text differently than Apple TV or Tizen.</p><p><strong>Best practice: </strong>Design and prototype with a <strong>10-foot preview</strong>&#8212;whether that&#8217;s a real TV, simulated view in Figma, or a remote-device preview.</p><h2>Increase contrast&#8212;far beyond WCAG minimums</h2><p>On TV, just hitting a WCAG 4.5:1 contrast ratio often isn&#8217;t enough to make sure content is easy to see and read. This is especially true in places where the viewing conditions change a lot, and where the display tech quality really affects the user experience.</p><p>Why is this happening?</p><ul><li><p>Many new TVs have strong image processing features that aim to make pictures look more vibrant and dynamic. But sometimes, this means losing details in darker parts of the picture, which can mess with how well you can see text and other key elements.</p></li><li><p>Dynamic backlighting systems try to boost contrast by changing brightness based on what&#8217;s on the screen. However, they can sometimes squash midtones, making it tough to tell different shades apart, especially in text or graphics that need those midtones to be clear.</p></li><li><p>Motion smoothing features, meant to cut down on motion blur in fast scenes, can accidentally make static images or text look less sharp. This can make things look soft or blurry, hurting the readability of on-screen content.</p></li><li><p>When UI elements get compressed, they can lose their sharp edges, making it tough to focus on them. This is a big issue for smaller text or icons, which might blend into busy backgrounds.</p></li><li><p>Plus, the glow from the room can really lower the perceived contrast on the screen. Ambient lighting can wash out colors and lessen the impact of contrast ratios, so it&#8217;s important to think about lighting when checking visibility.</p></li></ul><p>Given these issues, it&#8217;s smart to aim for:</p><ul><li><p><strong>7:1 or higher</strong> contrast ratio for text. This higher ratio helps text stay readable against different backgrounds, even in not-so-great viewing conditions.</p></li><li><p><strong>10:1 or higher</strong> for small UI elements. Small text and icons need even more contrast to be easily seen and used, especially for people with visual impairments.</p></li><li><p>Avoid using thin, lightweight fonts on bright or complex backgrounds, as this can make visibility worse. Choosing bolder fonts can improve readability and make sure text pops out.</p></li></ul><p>If your design needs background images, here are some ways to keep things visible:</p><ul><li><p>Use darkening overlays to lower the brightness of the background image, helping text stand out better. This keeps the text readable without losing the image&#8217;s visual appeal.</p></li><li><p>Scrims, or semi-transparent layers over the background, can help mute distracting elements and boost text visibility. This is handy for busy or colorful images.</p></li><li><p>Blur layers can also help by softening the background image, reducing visual noise and letting the text take center stage. This creates a more focused and readable interface.</p></li><li><p>Adding solid-color plates behind text can create a clear contrast that improves readability, no matter how complex the background is. This is great for making sure important info is easy for everyone to access.</p></li></ul><p>Ultimately, your users shouldn&#8217;t have to guess where to look or struggle to read what&#8217;s on the screen. By focusing on contrast ratios and using smart design strategies, you can create a more inclusive and user-friendly experience for a wide range of visual abilities and viewing conditions.</p><h2>Avoid low-resolution text rendering</h2><p>Some platforms&#8212;especially legacy or budget TVs&#8212;render text using older GPU pipelines. This means:</p><ul><li><p>anti-aliasing is inconsistent</p></li><li><p>thin strokes disappear</p></li><li><p>semi-transparent edges look fuzzy</p></li><li><p>white text blooms on bright panels</p></li></ul><h3>Solutions:</h3><ul><li><p>Use <strong>medium to bold weights</strong></p></li><li><p>Avoid ultra-thin fonts and light weights</p></li><li><p>Test on the lowest-quality device you support&#8212;not just your 4K OLED demo unit</p></li><li><p>Use vector or system text where possible (images with text often degrade)</p></li></ul><h2>Give text space to breathe</h2><p>Dense layouts might look clean on desktop, but on TV they quickly turn into visual noise.</p><p>Improve readability by:</p><ul><li><p>Increasing <strong>line height</strong> (150&#8211;170%)</p></li><li><p>Adding <strong>letter spacing</strong> to uppercase labels</p></li><li><p>Using <strong>high-contrast focus states</strong> with clear outlines</p></li><li><p>Avoiding long paragraphs&#8212;break text into scannable chunks</p></li></ul><p>Your UI should look legible from across the room, not just from your desk.</p><h2>Test in real living-room conditions</h2><p>Nothing replaces real-world testing.</p><h3>Simulate:</h3><ul><li><p>A bright sunlit room</p></li><li><p>A dim home-theatre environment</p></li><li><p>A budget 1080p TV in &#8220;Vivid&#8221; mode</p></li><li><p>Older devices with lower GPU rendering quality</p></li></ul><h3>Ask users:</h3><ul><li><p>&#8220;Can you read this title from where you&#8217;d normally sit?&#8221;</p></li><li><p>&#8220;Which items feel too small or too light?&#8221;</p></li><li><p>&#8220;Where did your eyes go first?&#8221;</p></li></ul><p>Even better:Use remote testing tools to observe how the UI performs over real streaming networks&#8212;the compression alone may change your design decisions.</p><h2>Design for reality, not for your monitor</h2><p>When designers see their UI on a real TV for the first time, one phrase usually comes out: <strong>&#8220;Oh wow&#8230; everything looks smaller than I expected.&#8221; </strong>That&#8217;s normal. The fix is straightforward: <strong>bigger text, higher contrast, better spacing, and real-world testing. </strong>Build these into your design and QA cycles and you&#8217;ll reduce support tickets, improve accessibility, and create an experience that feels &#8220;effortless&#8221; for users&#8212;no squinting required.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://accessrewind.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Access Rewind! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Quick fix for focus trapping on Android TV]]></title><description><![CDATA[Ever tried to back out of a submenu on your TV app only to find the focus won&#8217;t move? You press &#8220;Back.&#8221; Nothing. &#8220;Up.&#8221; &#8220;Left.&#8221; Still nothing. Eventually, you&#8217;re mashing buttons or restarting the app altogether.]]></description><link>https://accessrewind.substack.com/p/quick-fix-for-focus-trapping-on-android</link><guid isPermaLink="false">https://accessrewind.substack.com/p/quick-fix-for-focus-trapping-on-android</guid><dc:creator><![CDATA[A11yAlicia]]></dc:creator><pubDate>Sat, 18 Oct 2025 16:00:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!kwiz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F372f325d-4b82-4828-80f8-57afef212bb4_1536x862.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kwiz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F372f325d-4b82-4828-80f8-57afef212bb4_1536x862.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kwiz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F372f325d-4b82-4828-80f8-57afef212bb4_1536x862.png 424w, https://substackcdn.com/image/fetch/$s_!kwiz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F372f325d-4b82-4828-80f8-57afef212bb4_1536x862.png 848w, https://substackcdn.com/image/fetch/$s_!kwiz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F372f325d-4b82-4828-80f8-57afef212bb4_1536x862.png 1272w, https://substackcdn.com/image/fetch/$s_!kwiz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F372f325d-4b82-4828-80f8-57afef212bb4_1536x862.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kwiz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F372f325d-4b82-4828-80f8-57afef212bb4_1536x862.png" width="1536" height="862" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/372f325d-4b82-4828-80f8-57afef212bb4_1536x862.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:862,&quot;width&quot;:1536,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2824301,&quot;alt&quot;:&quot;Green Android figure beside a TV displaying Android icons on a blue tech-themed background in a cozy living room setting.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://accessrewind.substack.com/i/176493563?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf429b76-e460-4abb-a49a-57418bf988c4_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Green Android figure beside a TV displaying Android icons on a blue tech-themed background in a cozy living room setting." title="Green Android figure beside a TV displaying Android icons on a blue tech-themed background in a cozy living room setting." srcset="https://substackcdn.com/image/fetch/$s_!kwiz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F372f325d-4b82-4828-80f8-57afef212bb4_1536x862.png 424w, https://substackcdn.com/image/fetch/$s_!kwiz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F372f325d-4b82-4828-80f8-57afef212bb4_1536x862.png 848w, https://substackcdn.com/image/fetch/$s_!kwiz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F372f325d-4b82-4828-80f8-57afef212bb4_1536x862.png 1272w, https://substackcdn.com/image/fetch/$s_!kwiz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F372f325d-4b82-4828-80f8-57afef212bb4_1536x862.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Android TV</figcaption></figure></div><p></p><p>Ever tried to back out of a submenu on your TV app only to find the focus <em>won&#8217;t move</em>? You press &#8220;Back.&#8221; Nothing. &#8220;Up.&#8221; &#8220;Left.&#8221; Still nothing. Eventually, you&#8217;re mashing buttons or restarting the app altogether.</p><p>For users relying on a remote, that&#8217;s not just annoying &#8212; it&#8217;s a <strong>critical accessibility failure</strong>.</p><div><hr></div><h2>How It Happens</h2><p>On connected TV platforms like <strong>Roku, Android TV, Fire TV, and Apple TV</strong>, navigation depends entirely on focus. Each UI element &#8212; a button, menu, or list item &#8212; has a defined path for where focus goes next when you press up, down, left, or right.</p><p>When developers create custom menus or animations without accounting for those focus paths, users can easily get trapped inside a submenu.</p><p>For example:</p><ul><li><p>The submenu opens with focus on the first item.</p></li><li><p>The &#8220;Back&#8221; button is missing a focus target.</p></li><li><p>The exit logic isn&#8217;t coded for remote-based navigation.</p></li><li><p>And now, focus can&#8217;t leave &#8212; <strong>you&#8217;re stuck.</strong></p></li></ul><div><hr></div><h2>Why It&#8217;s an Accessibility Issue</h2><p>For people using <strong>screen readers or switch controls</strong>, this isn&#8217;t a small glitch. It can:</p><ul><li><p><strong>Block access</strong> to key features like captions or settings.</p></li><li><p><strong>Disrupt assistive tech</strong> that depends on predictable focus movement.</p></li><li><p><strong>Cause confusion or frustration</strong>, leading users to abandon the app altogether.</p></li></ul><p>Accessibility standards like <strong>WCAG 2.2&#8217;s &#8220;Focus Not Obscured&#8221; and &#8220;No Keyboard Trap&#8221;</strong> directly address this &#8212; and yes, the same logic applies to remote-based navigation.</p><div><hr></div><h2>How to Fix It</h2><ol><li><p><strong>Map every focus path.</strong><br>Set <code>android:focusable=&#8221;true&#8221;</code> on key containers. Before release, test every direction from every UI element. If &#8220;Up&#8221; or &#8220;Back&#8221; leads nowhere, it needs a destination.</p></li><li><p><strong>Simulate real remotes.</strong><br>Don&#8217;t rely on mouse clicks in your emulator &#8212; test with an actual remote or D-pad.</p></li><li><p><strong>Define exit logic early.</strong><br>When you design a submenu, define how the user will get in <em>and</em> how they&#8217;ll get out.</p></li><li><p><strong>Follow platform guidelines.</strong><br>Each platform has rules for focus management (like Android TV&#8217;s <code>nextFocusUp</code>, <code>nextFocusDown</code>, <code>nextFocusLeft</code>, <code>nextFocusRight</code>). Follow them &#8212; don&#8217;t reinvent the wheel.</p></li><li><p>Test with <strong>TalkBack<br></strong>As you navigate through items, <strong>make sure that TalkBack&#8217;s focus moves in a logical order</strong>, transitioning smoothly from one element to the next. <strong>Use Explore by Touch</strong> mode to confirm</p></li></ol><div><hr></div><h2>The Big Picture</h2><p>When focus gets stuck, users feel stuck.<br>Smooth, predictable navigation isn&#8217;t just good UX &#8212; it&#8217;s <strong>good accessibility</strong>.</p><p>By catching focus traps early in design and development, you&#8217;re not only preventing frustration &#8212; you&#8217;re ensuring <em>everyone</em> can enjoy your app the way it was meant to be used.</p></blockquote><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://accessrewind.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Access Rewind! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>