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.
A while back, I was looking for a period tracking app. There were several problems with many of them, including privacy concerns and data leaks. But I noticed another problem as well: The language used in the apps made me feel uncomfortable. As someone who doesn't really feel like "Hey ladies" addresses me (I'm non-binary), the women-centered language just made me feel uneasy.
I'm not alone in this. Trans men, non-binary people, and intersex folks who menstruate all face the same exclusionary design.
The Problem of Gendered Language in Period Trackers
Period trackers overwhelmingly assume their users are cisgender women. This shows up in language, visual design, and feature assumptions. Here are some examples:
- "Women's health" / "For her" / "Ladies"
- "Feminine hygiene" / "Girl talk"
- Partner terminology: "boyfriend/husband" only
- Pregnancy assumptions: "Are you trying to conceive?"
- Body part language: Overly cutesy ("Aunt Flo") or medical gendered terms
Beyond language, many apps use exclusively pink/feminine design aesthetics and visuals, featuring only feminine-presenting people.
Who This Hurts
- Trans men who menstruate
- Non-binary people who menstruate
- Intersex people
- Anyone uncomfortable with feminine-coded language
Why Developers (or Product Folks) Do This
First and foremost, the reason behind the problem is usually the assumption that "only women menstruate". This assumption also often leads to marketing language that targets a perceived demographic - women.
One common reason is also that "the other apps do it this way", so we just copy the patterns from there. These problems might also emerge from not consulting diverse users, rather than just those in the marketing demographic.
The Solution
Use Gender Neutral Language
Here are a couple of examples of language not to use, and how to replace those phrases:
<!-- ❌ Don't ❌ -->
<string name="welcome">Hey ladies!</string>
<string name="app_category">Women\'s Health</string>
<!-- ✅ Do ✅ -->
<string name="welcome">Welcome!</string>
<string name="app_category">Menstrual Health</string>
Assuming everyone using the app (or, for example, receiving a newsletter) is a "lady" would exclude anyone outside of "ladies". Instead, you can just leave out any gendered terms.
The term 'Women's health' is often used as shorthand for reproductive and menstrual health, and related topics. But not everyone who menstruates is a woman, and not all women menstruate. Use specific terms instead: 'Menstrual health,' 'Reproductive health,' 'Period tracking.'
Don't Make Assumptions About Relationships
If you need concrete labels for relationships, provide the user with different options to choose from and let them define them. Instead of just using "Boyfriend" or "Husband", you can define the options as, for example, an enum.
Let's say you have a partner mode, where the user can share data with their partner. You can define the options as:
enum class PartnerLabel(
val displayLabel: String
) {
PARTNER("Partner"),
BOYFRIEND("Boyfriend"),
GIRLFRIEND("Girlfriend"),
SPOUSE("Spouse"),
FRIEND("Friend"),
PARENT("Parent"),
CUSTOM("Custom")
}
And then use it in your code:
var selectedPartnerLabel by remember {
mutableStateOf(PartnerLabel.PARTNER)
}
DropdownMenu {
PartnerLabel.entries.forEach { label ->
DropdownMenuItem(
text = {
Text(label.displayLabel)
},
onClick = {
selectedPartnerLabel = label
}
)
}
}
Remember to also provide the custom option for the user to write the label themself, and also store this custom definition and use it.
For Gendered Languages, Use the Grammatical Inflection API
Many languages have grammatical gender, in which verbs and adjectives change depending on the subject's gender. For example, Spanish 'Bienvenido' vs. 'Bienvenida,' and French 'enceinte' (pregnant) has only a feminine form.
Android 14 introduced the Grammatical Inflection API to handle this. Users set their grammatical gender preference system-wide, and apps can query it to use appropriate gendered language.
For a detailed guide on implementing this, see Nav Singh's article linked in the Read More section.
Testing
- Have diverse users review all copy and string resources
- Test with people outside your marketing demographic
- Check every user-facing string for gendered assumptions
- Consult trans/non-binary folks who menstruate for feedback
Read More
Grammatical Inflection API-Android14
Nav Singh writes about the Grammatical Inflection API, explaining what it is and how to use it.
GLAAD Media Reference Guide – 11th Edition
GLAAD’s Media Reference Guide provides education and guidance on inclusive language for LGBTQ+ people. It's intended for journalists, but it contains a lot of useful learning for anyone building apps.
That's a wrap for Issue #6 of Inclusive Android Apps. What inclusive language challenges have you encountered? Hit reply and let me know!
Next month: Inaccessible inline links.
Thanks for reading!
-Eevis
eevis.codes