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
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
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
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
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 · 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 · 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
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
Eevis Panula @eevis.codes · 12/11/2025
Another Compose tip: If you use `clickable`-modifier, or for example, a Button-component, you don't need to add `focusable`-modifier to that component. If you do, the component gets added twice to tab order, meaning users using assistive technology for navigation would focus twice on that component.
100
Eevis Panula @eevis.codes · 10/11/2025
My talk from droidcon London is out! I share about creative coding, and some examples of what it can be.There's also live coding with Jetpack Compose Canvas  🤩 And of course, there are some ghosts 👻 #AndroidDev #Android #Kotlin #Canvas
youtu.be
Creative Coding with Kotlin - Eeva-Jonna Panula | droidcon London 2025
🎤 Talk: Creative Coding with Kotlin 👤 Speaker: Eeva-Jonna Panula 📍 Event: droidcon London 2025 📅 Date: October 30th - 31st, 2025 --- I used to suck at drawing on Canvas. As an Android developer…
070
Eevis Panula @eevis.codes · 08/11/2025
An Android (and Compose) tip: Use IconButton-component instead of building own, clickable component from an image with modifiers. The button works out of the box with different input methods (touch, keyboard, Switch access, screen reader etc.)
260
Eevis Panula @eevis.codes · 07/11/2025
I had a nice chat with in Berlin, and here's the recording, in which we discuss Android community, accessibility, debugging focus issues on Android, and other things. Let me know what you think! #dcbln25 #droidcon #AndroidDev www.youtube.com/watch?v=FO83...
youtube.com
An Interview with Eeva-Jonna Panula an accessibility expert | droidcon Berlin 2025
Dive into the critical world of Android Accessibility with Eeva-Jonna Panula! In this exclusive interview from droidcon Berlin 2025, Eeva-Jonna shares her journey to becoming a leading accessibility…
020
Reposted by Eevis Panula
Mark Murphy @commonsware.com · 04/11/2025
I sent out jetc.dev Newsletter Issue #288! Material3 Adaptive! Cahier! @eevis.codes on font scaling tests! Data tables! And... will Compose work remotely?!? jetc.dev/issues/288 #JetpackCompose #AndroidDev
092
Eevis Panula @eevis.codes · 02/11/2025
While testing Android apps for a11y, the biggest problems I see are with larger font sizes. I'm also often asked for how to write automated tests for accessibility, so I wanted to share tips on testing large font size related problems. eevis.codes/blog/2025-10... #AndroidDev #AndroidAccessibility
eevis.codes
Compose UI Tests for Larger Font Sizes: Scrolling and Text Truncation | Eevis Panula, Mobile Accessibility Engineer
I’m often asked tips on writing accessibility tests for Android, and I decided to write this post to demonstrate how to test some issues with larger font sizes with UI tests.
090
Eevis Panula @eevis.codes · 27/10/2025
Only a couple of days and I'll be in London, talking about Creative Coding! #dcldn25 youtube.com/shorts/b1qnt...
youtube.com
Creative Coding & Art with Kotlin! 🎨 | Eeva-Jonna Panula
YouTube video by droidcon & fluttercon
020
Eevis Panula @eevis.codes · 24/09/2025
I gave a talk today at droidcon Berlin (It's All About Focus - and Accessibility) and promised to share a link to the blog post with code samples - here it is: eevis.codes/blog/2025-07... #dcbln #dcbln25
eevis.codes
It's All About (Accessibility) Focus And Compose | Eevis Panula, Mobile Accessibility Engineer
Focus works differently for keyboard navigation and screen readers, such as TalkBack. In this blog post, I'll discuss the differences.
030
Eevis Panula @eevis.codes · 08/09/2025
Lately, I've been learning about Wear OS development, and naturally, accessibility has been a part of that learning journey. In the blog post, I share my learnings from supporting Talkback to Magnification. eevis.codes/blog/2025-09... #AndroidDev #AndroidAccessibility #A11y
eevis.codes
Wear OS Accessibility Considerations | Eevis Panula, Mobile Accessibility Engineer
Lately, I've been learning about Wear OS development. In this blog post, I'll share some of the learnings I've had on Wear OS accessibility.
150