digitalfabrik / integreat-app

React JS and React Native App for Integreat
https://integreat.app
MIT License
48 stars 14 forks source link

[Meta] :paintbrush: Increase contrast and add high contrast mode #1021

Open jira-to-github-migrator[bot] opened 1 year ago

jira-to-github-migrator[bot] commented 1 year ago

Description

We want to improve the accessibility and the UX of our web and native apps by increasing the contrast and optimizing the colors used across the apps. For this purpose we want to increase the contrast generally in the app for interaction elements as well as to introduce a dedicated high contrast mode.

Tasks

Old description:

There are two possibilities to implement a high contrast mode:

Adapt everything in the forntends:

For images (icons) try this css-filter:

hue-rotate(207.8deg) saturate(2000%) grayscale(100%)

See attachments for examplary result. Drawbacks only, if city uses (realistic) images instead of icons (see Dormagen)

Adjust text weight, color. Adjust horizontal line color.

Add an entry to the toolbar

~We also have the icons in SVG format here: https://drive.google.com/drive/folders/12uBcz3YdiElvB1jRshkvYyoKwoYKQ_-F~

Involve the cms:

In order to be accessible our icons should be simple SVGs. The current thumbnails are in the post object like this:

thumbnail: "https://...",

The new post object will look like this:

thumbnail: "https://...",
dynamic_thumbnail: "https://...",
color: '#123456'

If the dynamic_thumnail is non-null we use the color flag to generate a custom thumbnail.

~There are the Icons in SVG format: https://drive.google.com/drive/folders/12uBcz3YdiElvB1jRshkvYyoKwoYKQ_-F~

jira-to-github-migrator[bot] commented 1 year ago

Max Ammann - 17.10.2018, 15:07:57

This relates to NATIVE-18. On the xamarin/react-native app a transition on the fly is not really possible and also a bit resource intensive.

We should consider solving this using the api proposal explained in NATIVE-18

EDIT: This information is obsolete. There should be no issue with resources, as we use styled components for styling and an svg transformer for react.

sarahsporck commented 1 year ago

So the main task should be either thinking of a static color pallete or even better using a css-filter to change the colors dynamically to conform to dark mode.

Acceptance Criteria:

steffenkleinle commented 1 year ago

On more thing to keep in mind: Dark mode does not necessarily mean the same as high contrast mode, so we should be flexible with how many different color modes/themes we have. It should not be limited to 2 modes.

sarahsporck commented 1 year ago

Quick and dirty with css filter invert(90%) and reverting images <3

Bildschirmfoto 2023-10-04 um 11 48 11
steffenkleinle commented 1 year ago

Quick and dirty with css filter invert(90%) and reverting images <3 Bildschirmfoto 2023-10-04 um 11 48 11

We are now showing nuclear power plants in our map? :D

sarahsporck commented 1 year ago

yep and the purple parts of the map shows the wasteland around them :atom:

dkehne commented 7 months ago

I also like to add that we should add a high contrast mode due to accessibility reasons. we primary should be able to re-color the yellow icons (because they are neccessary for navigation). We have them already available as SVGs so we just need logic that leads to re-color them e.g. black.

steffenkleinle commented 7 months ago

Open questions/tasks:

nikolahoff commented 7 months ago

@steffenkleinle can you open an UX/UI ticket for the open tasks? Thanks!

steffenkleinle commented 7 months ago

@steffenkleinle can you open an UX/UI ticket for the open tasks? Thanks!

@nikolahoff I'd just use this issue for that once we clarified what/how we want to implement this and what the open tasks are in the call. Or would you like to work on this before the call next monday already?

nikolahoff commented 7 months ago

@steffenkleinle no that's fine after the call, thx

steffenkleinle commented 6 months ago

@nikolahoff @dkehne @f1sh1918 any other issues missing here? I added all issues I could think of to the description: https://github.com/digitalfabrik/integreat-app/issues/1021#issue-1848136110

nikolahoff commented 6 months ago

@nikolahoff @dkehne @f1sh1918 any other issues missing here? I added all issues I could think of to the description: #1021 (comment)

What about other accessibility items (size & easy language) shall we implement those as well? It would be good to know for the design in advance. @dkehne @steffenkleinle

nikolahoff commented 6 months ago

Bildschirmfoto 2024-05-07 um 11 47 23

dkehne commented 6 months ago

Easy Language has to be done by the municipality via the normal translation process and our normal translation selector, so no need here.

The font size is also sth. i would only support on web at the moment so using the normal zoom-keys (Ctrl and +)

So i would argue for a high-contrast mode only

osmers commented 5 months ago
  • Do we want an additional "normal" dark mode?

Not sure if I missed the answer to this or not - but I wanted to ask since the Kreis Warendorf forwarded the feedback that a user felt it was missing since he/she was used to it from other apps. Is the dark mode something we are planning to do or "only" the high contrast mode (and could someone give me an example of what that would look like, so I could communicate the plan of introducing this to the municipality?)?

steffenkleinle commented 5 months ago
  • Do we want an additional "normal" dark mode?

Not sure if I missed the answer to this or not - but I wanted to ask since the Kreis Warendorf forwarded the feedback that a user felt it was missing since he/she was used to it from other apps. Is the dark mode something we are planning to do or "only" the high contrast mode (and could someone give me an example of what that would look like, so I could communicate the plan of introducing this to the municipality?)?

Not planned at the moment. Do you think they would be willing to pay for this feature? :D

osmers commented 4 months ago

@steffenkleinle I don't think so :D but maybe the high contrast mode is enough/even better for them