Skip to content

User font accessibility settings #1234

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 11 commits into
base: develop
Choose a base branch
from

Conversation

LostInProgres
Copy link

Good day, besties of the Lorekeeper community-

This pretty much just adds user settings relating to text accessibility.
Currently included:

  • Enable/Disable Site Fonts; forces the font used by core LK (Roboto Condensed, serif)
  • Font size; changes font size
  • Letter spacing; changes letter spacing, makes letter either further apart or closer together
  • Word spacing; changes word spacing, makes letter either further apart or closer together
  • Line height; changes how much room is between each line of text

These are all user settings, so these wouldn't affect anyone but the user that has adjusted them.

Also worth noting that these changes aren't necessarily meant to be pretty; putting the settings on the higher end of the settings can definitely look a little bit messed up in some places, but IMO it's up to the user to decide whether the potential messed-up-ness is worth it.


Throwing this here mostly because I remember there being some discussion surrounding this, but honestly can't really... keep up with such discussion over discord.... So here we are :)

This is mostly done in my humble opinion-
IIRC my To-Do for this was mostly

  • turn the values into one of them fancy JSON thingamabobs so that it only needs one database column instead of like- five
  • add (stricter) maximums to the values (y'know, so people can't set the font size to 9 and make the site unusable)
  • Potentially add a couple more default font options

LostInProgres and others added 11 commits June 28, 2024 00:48
…lorekeeper

# Conflicts:
#	app/Http/Kernel.php
#	resources/views/admin/reports/report.blade.php
#	resources/views/pages/credits.blade.php
…ekeeper into text-accesibility

# Conflicts:
#	app/Http/Controllers/WorldController.php
#	app/Http/Kernel.php
#	resources/views/layouts/app.blade.php
#	resources/views/layouts/user_font_size.blade.php
#	resources/views/pages/credits.blade.php
…into PR/User-Text-Settings

# Conflicts:
#	app/Http/Controllers/BrowseController.php
#	app/Http/Controllers/GalleryController.php
#	app/Http/Controllers/Users/UserController.php
#	app/Http/Controllers/WorldController.php
#	composer.lock
#	resources/views/galleries/index.blade.php
…PR/User-Text-Settings

# Conflicts:
#	app/Http/Controllers/BrowseController.php
#	app/Http/Controllers/GalleryController.php
#	app/Http/Controllers/Users/UserController.php
#	app/Http/Controllers/WorldController.php
#	app/Models/User/UserSettings.php
#	composer.lock
#	resources/views/admin/reports/report.blade.php
#	resources/views/galleries/index.blade.php
#	resources/views/layouts/app.blade.php
#	routes/lorekeeper/members.php
@itinerare itinerare added enhancement New feature or request needs review Pull requests that are pending community review labels Feb 19, 2025
@SpeedyD
Copy link
Contributor

SpeedyD commented Feb 20, 2025

turn the values into one of them fancy JSON thingamabobs so that it only needs one database column instead of like- five

Allow me to suggest you to not do this. It's fine to keep it in separate columns.

@MarskyMessier
Copy link

Maybe instead of data being cast into a single column as suggested, if we want to keep it neat backend wise we could have a new table like user_accessibility that's specifically for that purpose (could also be good if people want to add more settings) as not to clog the user_settings table.

@SpeedyD
Copy link
Contributor

SpeedyD commented May 20, 2025

Honestly, that would work just as well. Just do NOT JSON encode it into a single column.

Actually, I guess Marsky's suggestion would work quite a lot better- it would only add data for users who actually USE the accessibility functions..

@itinerare
Copy link
Member

I think either way would work, and each have pros and cons; JSON offers ease of adding or altering settings but is a little bit more of a pain to work with, whereas a separate table... adds a separate table, and requires migrations to change the variety of data stored in it... but doesn't need a row for every user, just those that engage with the settings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request needs review Pull requests that are pending community review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants