wordplaydev / wordplay

An accessible, language-inclusive programming language and IDE for creating interactive typography on the web.
Other
57 stars 22 forks source link

Richer font chooser #162

Open amyjko opened 1 year ago

amyjko commented 1 year ago

What's the problem?

Our font chooser is currently just a list of font face names. There's a lot of other metadata to reveal about fonts though:

These details are important part of browsing and choosing fonts, and we have this metadata internally, but none of it's exposed.

Who benefits?

Any creator choosing a font face.

Design ideas

A little faceted search interface would suffice, allowing filtering by languages, italic support, weight support would be good. The resulting list should show all of these different metadata things, and the rendered font.

Pre-Design Documentation

Overview

Current state:

The current state of the font face chooser (it’s just called “face” on the website) is just a list of fonts.

What it currently lacks:

What it looks like currently:

Screen Shot 2023-11-28 at 6 29 34 PM

Desired state:

As specified in the GitHub issues page, we want:

All while still maintaining proper aesthetics and themes with the current theme.

Proposed design:

Brief overview: A font face chooser interface that shows the appearance of the fonts. A filter that allows users to filter by typeface and language. Users will also be able to search for fonts, filtering by the name of the font.

Images:

Font chooser interface with font appearances and side filtering by typeface and language Figure 1. Font chooser interface with font appearances and side filtering by typeface and language

Typeface filter contents show: sans-serif, serif, monospace, script, and display. Language filter currently only has English, Spanish, and Mandarin Chinese, written in its language. Figure 2. Has Typeface and Language filters opened up showing their contents.

Side notes:

  1. Each typescript has an "i" icon next to it, being hovered should describe the characteristics of that typeface.
  2. Descriptions of each typescript will be localized to the language that the user has set globally.
  3. (Language) Scripts are currently encoded in the repo as their natural script (ie. Latn, Hani, Jpan, etc.) and need to be used to create a new "language" variable for better user experience. (Letting users filter by English and Chinese, rather than Latin and Hani).

Figma link: https://www.figma.com/file/OdvjdLBpJxEMmWP8u1KJ5C/Font-Chooser-Interface-Design?type=design&node-id=49-3&mode=design&t=bnxb6upTwySZs4mt-0 PW: wp162

brightuw commented 10 months ago

First draft of design proposal/documentation (Does not yet include solid visual)

Wordplaypen #162 Design Documentation.pdf

amyjko commented 10 months ago

Thanks @brightuw! One norm to follow: put the current design proposal in the main body of the issue above, not as a comment, so everyone can see the current proposal. We'll use comments to discuss it.

brightuw commented 10 months ago

@amyjko thank you for letting me know. How would I go about doing that? Would I have to create a 'new issue'?

amyjko commented 10 months ago

You should see an edit button in the "…" menu up top. If you don't, then there's a permissions issue I need to fix.

brightuw commented 10 months ago

If you're referring to the comment that begins with "What's the problem?", I am unable to edit it, but I think it is because everyone is generally unable to edit other people's comments and not a permissions issue.

amyjko commented 10 months ago

It was a permissions issue. Design was set to triage access, instead of write. You should be able to edit now.

brightuw commented 10 months ago

Cool, thank you for that.

yz425-2036461 commented 9 months ago

Split into Issue #298 for accessibility settings for blind/low-vision users.

amyjko commented 8 months ago

Hi @brightuw, @yz425-2036461, @amyluyx, and @simku22,

It's the end of the quarter, so please post an update on this issue. Things to consider:

If there's nothing to change above, then at least post a comment indicating that you've seen this. Thanks!

amyjko commented 8 months ago

No reply, unassigning everyone to free up the issue for others to work on. Reassign yourself if you're still working on it.

brightuw commented 7 months ago

Self-reassigning, working to improve the design and interface of the font chooser on Figma linked in design spec.

brightuw commented 7 months ago

Updated design plan:

amyjko commented 7 months ago

Those seem like reasonable rationales to me. Let me know when/if you'd like another full review!

brightuw commented 6 months ago

Requesting small-scale design review before further designing!

amyjko commented 6 months ago

Thanks @brightuw! I like the direction this is going. A few thoughts:

brightuw commented 6 months ago

Thank you @amyjko for the insight!

Right off the bat, addressing your third point, I think that each font description should be localized in every language, and the one displayed as the description would be the global language the user has set.

I will get back to you to address these other points momentarily.

amyjko commented 6 months ago

Re: localizing, I think that feels like the best choice to me too — we want to support all possible scenarios, rather than restrict them. That does come with a cost: every font we add we'll need to localize a font description, but that feels like a reasonable price to pay for equitably engaging everyone globally.

brightuw commented 6 months ago

Hey, @amyjko. I think I need a little guidance on which way to proceed with the popup/tooltips concern. I have reviewed WCAG 2.2 documents but they only discuss that if you DO have popups, to have them be on hover, kept open when mouse is still over the overlay, and be dismissible, giving me the impression that pop-ups/toolkits are generally acceptable. However, I do agree that three pop-ups are definitely somewhat excessive. I was initially thinking of a filter bar at the top of the font chooser interface, which only reduces the amount of pop-ups by one. Do you have any advice or suggestions moving forward?

amyjko commented 6 months ago

Thanks @brightuw, and good job doing research on the WCAG guidance! It definitely permits popups, but doesn't take a stance on whether they're good or bad, just sets some minimum bar on how to do them if you do. What it doesn't say is how hard it is to make a large number of drop downs and popups keyboard accessible. With a mouse and sight, it's manageable, but without sight, and only a keyboard and descriptions, it becomes kind of a maze.

What about something more visually self contained, like the color chooser we currently have? A little box with scrollable list of font names, a panel to show a preview and the description, and a filter box for searching, plus the language and category filters? There's a lot we can do in a relatively small space.

amyjko commented 5 months ago

It's the end of Winter! Please provide an update on this issue, including:

If you do plan to continue work on it, carry on. Otherwise, thank you for your contributions!

brightuw commented 5 months ago

Will continue working on this issue next quarter.

amyjko commented 5 months ago

Yay! Thanks @brightuw, I'm so grateful to have you in the community. I hope we can build this next quarter!

amyjko commented 5 months ago

No reply from @MichelleGuan1128 @yz425-2036461, unassigning.

patriciacindy commented 4 months ago

Hello @brightuw, I am interested to work on this project together. Would you mind we work together?

brightuw commented 4 months ago

Hey, @patriciacindy of course! What's your username in the Discord?

patriciacindy commented 4 months ago

Hello @brightuw my Discord name is patriciacindyisabell. Thanks!