@hongminhee@hollo.social

As someone who has developed several software implementations (Fedify, Hollo, BotKit, and Hackers' Pub), I believe one of the most frustrating features to implement in the is .

The challenges are numerous:

First, there's no standardization. ActivityPub specifications don't define how custom emoji should work, leading to inconsistent implementations across different servers like Mastodon and Misskey.

Rendering is particularly problematic. Emojis must display properly across different contexts (in text, as reactions, in emoji pickers) while maintaining quality at various sizes. Animated emojis add another layer of complexity.

Perhaps most concerning is the poor . Most implementations simply use the emoji code (like :party_blob:) as the alt text, which provides no meaningful information to screen reader users (in particular, non-English speakers) about what the emoji actually depicts or means.

What really dampens my motivation to implement this feature is knowing I'm investing significant effort into something that ultimately creates accessibility barriers. It's disheartening to work hard on a feature that excludes part of the community.

hackers.pub

Hackers' Pub

Hackers' Pub is a place for software engineers to share their knowledge and experience with each other. It's also an ActivityPub-enabled social network, so you can follow your favorite hackers in the fediverse and get their latest posts in your feed.

6 replies

@ozoramore@social.t2arc.net · Reply to 洪 民憙 (Hong Minhee) :nonbinary:

Another annoying thing about the current custom emoji spec in the fediverse: the type is just called Emoji instead of CustomEmoji. Such a small detail, but it creates unnecessary ambiguity between Unicode emojis and custom ones. I ran into this while implementing BotKit and had type name collisions with Emoji—had to use awkward namespacing to work around it. These little inconsistencies make implementation more tedious than it needs to be.

@silverpill@mitra.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee I plan to write a FEP documenting existing implementations (it is needed to finalize my emoji reactions FEP).

>Most implementations simply use the emoji code (like :party_blob:) as the alt text, which provides no meaningful information to screen reader users

Do you know implementations that provide alt text for custom emojis?

codeberg.org

fep/fep/c0e0/fep-c0e0.md at main

fep - Fediverse Enhancement Proposals

@mariusor@metalhead.club · Reply to 洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee I would do the same thing I do for images right now: I add a summary field on the ActivityPub object that designates the image/svg, which then gets translated into an alt text when rendered into HTML. See this as an example: marius.federated.id/outbox/174 (this is an ActivityPub Create for that Image that you see). If you access the object of the Create you get just the plain binary image, but so encapsulated it renders with the alt text.

marius.federated.id

Marius :: fediverse page