Eevis Panula

Eevis Panula

@eevis.codes

Mobile Accessibility Specialist, Android GDE, Senior Android Developer, Blogger, Speaker from Finland 🇫🇮 They/She Website: https://eevis.codes YouTube: https://www.youtube.com/@eeviscode Inclusive Android Apps-newsletter: https://eevis.codes/newsletter

689 followers119 following140 posts

Issue #11 of Inclusive Android Apps drops tomorrow 📬 This one’s about offline support: what happens when your app assumes there’s always a network connection, and what to consider when building for users who don’t have one. Subscribe to get it in your inbox: eevis.codes/newsletter/ #AndroidDev

eevis.codesInclusive Android Apps-newsletter | Eevis Panula, Mobile Accessibility EngineerInclusive Android Apps is a monthly newsletter about making Android apps more inclusive.

Issue #9 of Inclusive Android Apps drops Tuesday 📬 This one's about fixed heights: a small thing in code that can make content completely unreadable for users with larger font sizes. Code included. Subscribe to get it in your inbox: eevis.codes/newsletter/ #AndroidDev #InclusiveAndroidApps

eevis.codesInclusive Android Apps-newsletter | Eevis Panula, Mobile Accessibility EngineerInclusive Android Apps is a monthly newsletter about making Android apps more inclusive.

Issue #8 of Inclusive Android Apps drops Tuesday 📬 This one's about animations: how they can cause real physical symptoms for many users, and how to make sure your app respects the Remove animations setting. Code included. Subscribe to get it in your inbox: eevis.codes/newsletter/ #AndroidDev

eevis.codesInclusive Android Apps-newsletter | Eevis Panula, Mobile Accessibility EngineerInclusive Android Apps is a monthly newsletter about making Android apps more inclusive.

Issue #7 of Inclusive Android Apps is live! 🚀 This one covers inline links: a pattern that works fine for touch users but is completely unreachable for keyboard, Switch Access, and screen reader users. Code included. Read it: buttondown.com/inclusive-an... #AndroidDev #InclusiveAndroidApps

Issue #7 of Inclusive Android Apps drops Tuesday 📬 This one's about inline links: a pattern that looks and works fine for touch users, but is completely unreachable for assistive tech users. Code included. Subscribe to get it in your inbox: eevis.codes/newsletter #AndroidDev #InclusiveAndroidApps

eevis.codesInclusive Android Apps-newsletter | Eevis Panula, Mobile Accessibility EngineerInclusive Android Apps is a monthly newsletter about making Android apps more inclusive.

Autofill isn't just a convenience, it's an accessibility feature. It helps people who find typing difficult due to limited mobility, trembling hands, or freezing fingers. And it takes maybe five lines of code in Jetpack Compose. My blog on how to support it: eevis.codes/blog/2026-05... #AndroidDev

eevis.codesAutofilling in the Blanks | Eevis Panula, Mobile Accessibility EngineerIf you have forms in your app that collect user information, autofill is one of the easiest accessibility wins you can add.

Eevis Panula reposted

Issue #6 of Inclusive Android Apps is live! 🚀 This one's about gendered language in period trackers — and how a few string changes and a dropdown can make your app welcoming for everyone who menstruates. Code included. Read it: buttondown.com/inclusive-an... #AndroidDev #InclusiveAndroidApps

buttondown.comInclusive Android Apps #6: The Problem of Gendered Language in Period TrackersSixth issue covers the problems of gendered language in period trackers and how that language can exclude many users.

Issue #6 of Inclusive Android Apps drops Tuesday! 📬 Topic: Gendered language in period tracking apps. Why assumptions about who menstruates exclude users, and how to fix it with inclusive string resources and code. Subscribe: eevis.codes/newsletter #AndroidDev #InclusiveDesign #MenstrualHealth

eevis.codesInclusive Android Apps-newsletter | Eevis Panula, Mobile Accessibility EngineerInclusive Android Apps is a monthly newsletter about making Android apps more inclusive.

Android's default focus indicator is a ripple so subtle it's almost invisible, and that's a problem for keyboard and D-pad users. I wrote about building a custom one with the Indication API in Jetpack Compose: eevis.codes/blog/2026-04... #AndroidDev #a11y #JetpackCompose

eevis.codesMore Accessible Focus Indicators with Compose | Eevis Panula, Mobile Accessibility EngineerLet's talk about focus indicators, and how you can make your focus indicators more accessible with Compose.

Issue #5 of Inclusive Android Apps is live! 🚀 This one covers drag-and-drop and accessibility: why the pattern needs alternatives, and how to build them with buttons, keyboard support, and screen reader enhancements. Code included. Read it: buttondown.com/inclusive-an... #AndroidDev

Issue #5 of Inclusive Android Apps drops Tuesday 📬 This one tackles drag and drop: why it excludes users who can't perform the gesture, and how to build accessible alternatives with buttons and keyboard support, code included. Subscribe to get it in your inbox: eevis.codes/newsletter #AndroidDev

eevis.codesInclusive Android Apps-newsletter | Eevis Panula, Mobile Accessibility EngineerInclusive Android Apps is a monthly newsletter about making Android apps more inclusive.

Issue #4 of Inclusive Android Apps is live! 🚀 This one tackles time-based actions: why they exclude users who need more time, and how to support Android's "Time to Take Action" accessibility setting, with code examples. Read it: buttondown.com/inclusive-an... #AndroidDev #InclusiveAndroidApps

Issue #4 of Inclusive Android Apps drops Tuesday 📬 This one is about time-based actions, why they might exclude users who need more time, and how to support the "Time to Take Action" accessibility setting, with code included. Subscribe to get it in your inbox: eevis.codes/newsletter #AndroidDev

eevis.codesInclusive Android Apps-newsletter | Eevis Panula, Mobile Accessibility EngineerInclusive Android Apps is a monthly newsletter about making Android apps more inclusive.

Following up on my last post about building an item previewer in Jetpack Compose, I’ve published Part 2: Adding navigation support, in which I look into keyboard, screen reader, and voice access navigation considerations for the item previewer. eevis.codes/blog/2026-02... #A11y #AndroidDev

eevis.codesAdding Navigation support to Large Content Viewer with Compose | Eevis Panula, Mobile Accessibility EngineerWhen enabling font scaling is not an option, the iOS-like large content viewer functionality can be an answer. But you need to support assistive technology with it as well.

Eevis Panula reposted

Eeva-Jonna @eevis.codes Panula on kaikkien aikojen ensimmäinen Mimmit koodaa -palkinnon voittaja. Tänä vuonna ympyrä sulkeutuu, kun hän on mukana tuomaristossa valitsemassa tulevaa voittajaa. Kysyimme Eeviksen kuulumisia, lue lisää ohesta. ☺️ #MimmitKoodaa

mimmitkoodaa.fiVuoden 2021 voittaja Eeva-Jonna, mitä sinulle kuuluu? - Mimmit koodaaEeva-Jonna Panula raivasi polkua ICT-alan vähemmistölle ja sai työstään kaikkien aikojen ensimmäisen Mimmit koodaa -palkinnon. Miten tähän pisteeseen päädyttiin? Ja mitä on tapahtunut sen jälkeen?

Issue #3 of Inclusive Android Apps is live! 🚀 This one covers the problem of color-only indicators: why relying on color alone excludes users, with code examples for fixing the issue with text, icons, and/or patterns. Read it: buttondown.com/inclusive-an... #AndroidDev #InclusiveAndroidApps

Looking back, I've mostly spoken at events abroad and in Turku, so I'm happy to share that I will be speaking at #ScanAgile26 in Helsinki in March! This time, my POV on accessibility is not the most technical, but how teams should value progress over perfection when fixing accessibility issues.

Font scaling is important, but what if UI elements can't scale? I’m borrowing a concept from iOS to build an item previewer in Jetpack Compose. It ensures small icons/labels stay accessible via item previews. Read more: eevis.codes/blog/2026-01... #A11y #AndroidDev

eevis.codesBeyond Font Scaling: Large Content Viewer with Compose | Eevis Panula, Mobile Accessibility EngineerWhat if enabling font scaling is not an option for some element, like the bottom bar? One option would be to build iOS-like large content viewer functionality.

Issue #2 of Inclusive Android Apps is live! 🚀 This one tackles how to build gender forms that don't force binary choices. The practical solutions include multiple options, custom fields, and opt-out choices. Read it: buttondown.com/inclusive-an... #AndroidDev #InclusiveAndroidApps

buttondown.comInclusive Android Apps #2: The Problem of Non-Inclusive Gender Selection FormsSecond issue of Inclusive Android Apps discusses forms asking for users gender, and how to make them more inclusive.

Issue #2 of Inclusive Android Apps drops Tuesday 📬 This one's about gender selection in forms, why binary male/female choices exclude users, and how to build forms that actually work for everyone, with practical code examples. Want it in your inbox? Subscribe: eevis.codes/newsletter/ #AndroidDev

eevis.codesInclusive Android Apps-newsletter | Eevis Panula, Mobile Accessibility EngineerInclusive Android Apps is a monthly newsletter about making Android apps more inclusive.

Compose-tip: When building reusable components, avoid unintentional nested clickable/selectable/toggleable elements, such as a `Column` with `clickable` that wraps a `Button`.

Otherwise, there are two tab stops in the tab order, which can make assistive tech navigation harder, or in some cases, unusable. #AndroidDev #Android #AndroidAccessibility

Compose (or Android) tip: Test your app with both button and gesture navigation to avoid breaking the user experience. When not testing with button navigation, it's easy to forget to leave enough padding for the buttons, which, in turn, can make some elements unusable at the bottom of the screen.

For gesture navigation, if not testing with it, there might be interactive components that interfere with the gestures - for example, a slider or range slider, or a component with swipe-to-dismiss actions. #AndroidDev #Android #AndroidAccessibility

Less than a week until the first issue of the Inclusive Android Apps newsletter! The response to the newsletter has been amazing, and I am so excited about it. I already have so many different ideas for the upcoming issues, and just can't wait to launch them! Did I already say I'm excited?

eevis.codesInclusive Android Apps-newsletter | Eevis Panula, Mobile Accessibility EngineerInclusive Android Apps is a monthly newsletter about making Android apps more inclusive.

Compose tip: When you create either custom toggleable and selectable components (like switches, checkboxes, or radio inputs), or when you associate said native components with their labels and wrap them with, for example, a `Row`, use `toggleable` and `selectable` modifiers instead of `clickable`.

Also, remember to pass in the role (Role.Switch, Role.Checkbox, Role.RadioButton). Using the correct modifier and role ensures, that the semantics are communicated correctly to assistive technologies. #AndroidDev #Android #AndroidAccessibility

Android and Compose tip: Don't set a fixed height to components unless it's absolutely necessary. And even then, double-check if it is actually required, and test with large font sizes, such as 200%.

Setting a fixed height, especially for components that wrap text, can cause various problems for users who use larger font sizes, such as cutting off text and preventing the component from expanding naturally. #AndroidDev #Android #AndroidAccessibility

I've been testing different AI tools for generating Android apps and running accessibility tests on them, and now I've finally written my wrap-up of those tests. In short, from an Android accessibility perspective, I don't believe AI will replace developers anytime soon.

eevis.codesDoes AI Generate Accessible Android Apps? | Eevis Panula, Mobile Accessibility EngineerI've been generating apps with different AI tools and testing them for how accessible they are. This blog post summarises all the findings.

So I'm launching a newsletter about Inclusive Android Apps in December! Inclusive Android Apps is a monthly newsletter about making Android apps more inclusive. I cover accessibility, LGBTQ+ inclusive design, internationalization, and other considerations for apps to not accidentally exclude users.

eevis.codesInclusive Android Apps-newsletter | Eevis Panula, Mobile Accessibility EngineerInclusive Android Apps is a monthly newsletter about making Android apps more inclusive.

Another Android accessibility tip: if you have `indication=null` set to your interactive components, it's likely that you're preventing anyone relying physical keyboard or d-pad for navigation.  This is, of course, if you haven't implemented proper focus indicators, which don't include ripples.

But ripple is not just for focus indication, it's also part of the interaction as whole - for example, as feedback from touch input. The default ripple is so subtle that it's easy to miss, but it's better than nothing. #Android #AndroidDev #AndroidAccessibility