Sign in

Eevis Panula

@eevis.codes
685 followers 119 following 137 posts

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

PostsRepliesMedia
Eevis Panula @eevis.codes · 16/09/2026
In case you missed it, Issue #10 of Inclusive Android Apps is out! 🚀 This one's about gesture-only interactions like pinch-to-zoom on maps and graphs, and how to fix them. Code included. Read it: buttondown.com/inclusive-an... #AndroidDev #InclusiveAndroidApps #Accessibility
buttondown.com
Inclusive Android Apps #10: The Problem of Gesture-Only Interactions
Tenth issue covers how gesture-only interactions are a problem for different user groups.
020
Eevis Panula @eevis.codes · 07/09/2026
Issue #10 of Inclusive Android Apps drops tomorrow 📬 This one's about gesture-only interactions like pinch-to-zoom on maps and graphs, and how to fix them. Code included. Subscribe to get it in your inbox: eevis.codes/newsletter/ #AndroidDev #InclusiveAndroidApps
eevis.codes
Inclusive Android Apps-newsletter | Eevis Panula, Mobile Accessibility Engineer
Inclusive Android Apps is a monthly newsletter about making Android apps more inclusive.
020
Eevis Panula @eevis.codes · 17/08/2026
In case you missed it, Issue #9 of Inclusive Android Apps is out! 🚀 This one's about fixed heights: a small thing in code that clips content for users with larger font sizes. One modifier change can fix it. Code included. Read it: buttondown.com/inclusive-an... #AndroidDev #InclusiveAndroidApps
buttondown.com
Inclusive Android Apps #9: The Problem of Fixed Heights
Ninth issue covers fixed heights and how they can break the layout for larger font sizes.
010
Eevis Panula @eevis.codes · 05/08/2026
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.codes
Inclusive Android Apps-newsletter | Eevis Panula, Mobile Accessibility Engineer
Inclusive Android Apps is a monthly newsletter about making Android apps more inclusive.
040
Eevis Panula @eevis.codes · 14/07/2026
Issue #8 of Inclusive Android Apps is live! 🚀 This one's about animations: how they can cause real physical symptoms, and how to respect the Remove animations setting. Code included. Read it: buttondown.com/inclusive-an... #AndroidDev #InclusiveAndroidApps #Accessibility
140
Eevis Panula @eevis.codes · 12/07/2026
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.codes
Inclusive Android Apps-newsletter | Eevis Panula, Mobile Accessibility Engineer
Inclusive Android Apps is a monthly newsletter about making Android apps more inclusive.
050
Reposted by Eevis Panula
Mark Murphy @commonsware.com · 16/06/2026
Hi! I mailed out jetc.dev Newsletter Issue #318! @eevis.codes on acessible links! RemoteCompose! Cross-platform barcode scanning! Blueprints in previews! And... we seem to be short a BOM?!? jetc.dev/issues/318 #JetpackCompose #AndroidDev
0123
Eevis Panula @eevis.codes · 09/06/2026
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
060
Eevis Panula @eevis.codes · 05/06/2026
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.codes
Inclusive Android Apps-newsletter | Eevis Panula, Mobile Accessibility Engineer
Inclusive Android Apps is a monthly newsletter about making Android apps more inclusive.
060
Eevis Panula @eevis.codes · 04/06/2026
I'm just about to finish my talk "Beyond Gestures: Accessible (SVG) Maps for Compose Multiplatform" at mDevCamp, and I promised to share the link to the repository with the code from the talk, so here it is: gitlab.com/eevajonna/SJ... Thanks to everyone who came to listen to the talk!
gitlab.com
eevajonna / SJKPrideEvents · GitLab
GitLab.com
010
Reposted by Eevis Panula
Mark Murphy @commonsware.com · 02/06/2026
I just shipped jetc.dev Newsletter Issue #316! Android Makers 2026! @eevis.codes on utofill! @sebastiano.dev and @saket.me on test automation! And... can we compose some liquid for our glass?!? jetc.dev/issues/316 #JetpackCompose #AndroidDev
093
Eevis Panula @eevis.codes · 02/06/2026
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.codes
Autofilling in the Blanks | Eevis Panula, Mobile Accessibility Engineer
If you have forms in your app that collect user information, autofill is one of the easiest accessibility wins you can add.
090
Reposted by Eevis Panula
KotlinConf @kotlinconf.com · 25/05/2026
🏆And the winner is… On Friday, we celebrated the Kotlin community members who inspire, teach, build, and bring people together. Congrats to the winners! 👏 @matheuslf.dev, @skydoves.bsky.social, @nicole-terc.bsky.social. Eeva-Jonna Panula @eevis.codes, Yinlong Liu kotlinconf.com/awards
kotlinconf.com
Golden Kodee Community Awards | KotlinConf 2026, May 20–22, Munich
KotlinConf is the official Kotlin conference by JetBrains. It is a place for the community to gather and discuss all things Kotlin.
0196
Eevis Panula @eevis.codes · 12/05/2026
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.com
Inclusive Android Apps #6: The Problem of Gendered Language in Period Trackers
Sixth issue covers the problems of gendered language in period trackers and how that language can exclude many users.
050
Eevis Panula @eevis.codes · 07/05/2026
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.codes
Inclusive Android Apps-newsletter | Eevis Panula, Mobile Accessibility Engineer
Inclusive Android Apps is a monthly newsletter about making Android apps more inclusive.
050
Reposted by Eevis Panula
Mark Murphy @commonsware.com · 05/05/2026
OK, I sent out jetc.dev Newsletter Issue #313! Bottom tab navigation! @eevis.codes on focus indicators! Hotkey DSL! Syntax highlighting! jetc.dev/issues/313 #JetpackCompose #AndroidDev
062
Eevis Panula @eevis.codes · 03/05/2026
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.codes
More Accessible Focus Indicators with Compose | Eevis Panula, Mobile Accessibility Engineer
Let's talk about focus indicators, and how you can make your focus indicators more accessible with Compose.
0110
Reposted by Eevis Panula
Mark Murphy @commonsware.com · 21/04/2026
I pushed the button on jetc.dev Newsletter Issue #311! @landomen.bsky.social on ViewModel Scope in Nav3! @eevis.codes on more inclusive drag-and-drop! Shared element transitions in Nav3! Official skills! jetc.dev/issues/311 #JetpackCompose #AndroidDev
062
Eevis Panula @eevis.codes · 14/04/2026
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
021
Eevis Panula @eevis.codes · 10/04/2026
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.codes
Inclusive Android Apps-newsletter | Eevis Panula, Mobile Accessibility Engineer
Inclusive Android Apps is a monthly newsletter about making Android apps more inclusive.
030
Eevis Panula @eevis.codes · 11/03/2026
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
130
Eevis Panula @eevis.codes · 07/03/2026
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.codes
Inclusive Android Apps-newsletter | Eevis Panula, Mobile Accessibility Engineer
Inclusive Android Apps is a monthly newsletter about making Android apps more inclusive.
000
Eevis Panula @eevis.codes · 28/02/2026
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.codes
Adding Navigation support to Large Content Viewer with Compose | Eevis Panula, Mobile Accessibility Engineer
When 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.
030
Reposted by Eevis Panula
Mimmit koodaa @mimmitkoodaa.fi · 17/02/2026
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.fi
Vuoden 2021 voittaja Eeva-Jonna, mitä sinulle kuuluu? - Mimmit koodaa
Eeva-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?
011
Reposted by Eevis Panula
Mark Murphy @commonsware.com · 17/02/2026
I released jetc.dev Newsletter Issue #302! Compose patch release and alpha release! Compose Multiplatform patch release! Bottom sheets! @eevis.codes on colors and accessibility! And... can we work with Glance?!? jetc.dev/issues/302 #JetpackCompose #AndroidDev
052
Eevis Panula @eevis.codes · 10/02/2026
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
051
Eevis Panula @eevis.codes · 05/02/2026
Issue #3 of Inclusive Android Apps drops Tuesday! 📬 This one's about color-only indicators: why relying on color alone excludes users, and how to fix it with text, icons, and patterns. Code included. Want to get it to your inbox? Subscribe here: eevis.codes/newsletter #AndroidDev
eevis.codes
Inclusive Android Apps-newsletter | Eevis Panula, Mobile Accessibility Engineer
Inclusive Android Apps is a monthly newsletter about making Android apps more inclusive.
050
Reposted by Eevis Panula
Mark Murphy @commonsware.com · 20/01/2026
OK, I released jetc.dev Newsletter Issue #298! Compose Multiplatform 1.10! 🎉 Compose Hot Reload! @eevis.codes on bottom nav bar accessibility! Responsive tab rows! And... a no-Chromium desktop WebView?!? jetc.dev/issues/298 #JetpackCompose #AndroidDev
062
Eevis Panula @eevis.codes · 19/01/2026
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.
ScanAgile 26. The agile accessibility mindset: Progress over perfection. Tue 17th of March, 2026 1:30 PM - Helsinki, Finland. Eeva-Jonna Panula. scan-agile.org
000
Eevis Panula @eevis.codes · 17/01/2026
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.codes
Beyond Font Scaling: Large Content Viewer with Compose | Eevis Panula, Mobile Accessibility Engineer
What 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.
030
Eevis Panula @eevis.codes · 13/01/2026
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.com
Inclusive Android Apps #2: The Problem of Non-Inclusive Gender Selection Forms
Second issue of Inclusive Android Apps discusses forms asking for users gender, and how to make them more inclusive.
020
Eevis Panula @eevis.codes · 09/01/2026
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.codes
Inclusive Android Apps-newsletter | Eevis Panula, Mobile Accessibility Engineer
Inclusive Android Apps is a monthly newsletter about making Android apps more inclusive.
021
Eevis Panula @eevis.codes · 17/12/2025
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
010
Eevis Panula @eevis.codes · 17/12/2025
Compose-tip: When building reusable components, avoid unintentional nested clickable/selectable/toggleable elements, such as a `Column` with `clickable` that wraps a `Button`.
120
Eevis Panula @eevis.codes · 11/12/2025
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
121
Eevis Panula @eevis.codes · 11/12/2025
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.
141
Eevis Panula @eevis.codes · 09/12/2025
First issue of Inclusive Android Apps is live! 🚀 This one's about how Row layouts break when users increase text size - and why FlowRow is a good fix. Read it: buttondown.com/inclusive-an... #AndroidDev #AndroidAccessibility #a11y #InclusiveAndroidApps
buttondown.com
Inclusive Android Apps #1: The Problem of Rows Breaking with Large Text
Troubleshooting Android's Row for better app accessibility with larger texts
052
Eevis Panula @eevis.codes · 04/12/2025
I also write a bit about why I'm starting the newsletter, and what to expect from it. If you're interested, here's the link: eevis.codes/blog/2025-12... #Android #AndroidDev #AndroidAccessibility #a11y #InclusiveAndroidApps
eevis.codes
Why I'm starting a Newsletter About Inclusive Android Apps | Eevis Panula, Mobile Accessibility Engineer
I'm starting a newsletter about making more inclusive Android apps, and this blog post explains why I'm doing it.
010
Eevis Panula @eevis.codes · 04/12/2025
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.codes
Inclusive Android Apps-newsletter | Eevis Panula, Mobile Accessibility Engineer
Inclusive Android Apps is a monthly newsletter about making Android apps more inclusive.
112
Eevis Panula @eevis.codes · 03/12/2025
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
020
Eevis Panula @eevis.codes · 03/12/2025
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`.
150
Eevis Panula @eevis.codes · 28/11/2025
That's an interesting idea. I think that for screen readers on Android, the best one resource would be the official Android documentation - the information is a bit scattered, but overall, I feel like it still contains most of things that need to be taken into account in one resource.
110
Eevis Panula @eevis.codes · 26/11/2025
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
130
Eevis Panula @eevis.codes · 26/11/2025
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%.
160
Eevis Panula @eevis.codes · 25/11/2025
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.codes
Does AI Generate Accessible Android Apps? | Eevis Panula, Mobile Accessibility Engineer
I've been generating apps with different AI tools and testing them for how accessible they are. This blog post summarises all the findings.
010
Eevis Panula @eevis.codes · 22/11/2025
Thanks Mike, I really appreciate it!
010
Eevis Panula @eevis.codes · 20/11/2025
First issue drops December 9th, subscribe to get it delivered to your inbox: eevis.codes/newsletter #Android #AndroidDev #AndroidAccessibility #InclusiveDesign
010
Eevis Panula @eevis.codes · 20/11/2025
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.codes
Inclusive Android Apps-newsletter | Eevis Panula, Mobile Accessibility Engineer
Inclusive Android Apps is a monthly newsletter about making Android apps more inclusive.
2143
Eevis Panula @eevis.codes · 19/11/2025
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
010
Eevis Panula @eevis.codes · 19/11/2025
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.
121