Skip to content
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

Feature/awesome accessibility color audit #7642

Merged
merged 41 commits into from
May 1, 2018

Conversation

khaykov
Copy link
Member

@khaykov khaykov commented Apr 16, 2018

Accessibility color audit turned into Calypsofication of colors.

I was surprised to learn that our styles and colors are total mess, specifically preference screens. In our app we have preferences that look like this :
https://gyazo.com/2a6ce485fa9a8666ed7c66bf1793114f

With dialogs that looks like this:
https://gyazo.com/42154b449f71c4cf058b2b1ae6eab3b3

So apart from adressing color contrast issues I tried to adress inconsistencies like that.

Now, there are parts where I wasn't exatly sure what colors to use. Reader in calypso, for example, uses low contrast icons, contrary to the rest of the interface, so I had to improvise.

So, I need a help of a designer with a sharp eye, like @iamthomasbishop, to help me navigate this 50 shades of grey ;)

I compiled before-after screenshots of major changes, so please let me know if you feel like we can use any other colors at any element.
Part 1
Part 2
Part 3
Part 4
Part 5

I haven't touched the login icons color, as there is no direct equivalent in Calypso. There are no contrast issues there, apart from icons. Should I change thir color to something greyer?
screenshot_1523892051

PS: Accessibility monitor is still angry about contrast of some colors, but I did my best to bring it at least above 3 (?).

PPS: Ringtone prefference is using system colors.

PPPS: I probably missed some colors.

PPPPS: We need to get our style game together.

@khaykov khaykov added Accessibility [Status] Needs Design Review A designer needs to sign off on the implemented design. labels Apr 16, 2018
@iamthomasbishop
Copy link

Great work here, and thanks for surfacing the inconsistencies 😄 There are a LOT of little changes here, so making changes throughout the entire app will mean a substantial shift in feel. My general take is that darkening text and icons slightly is a good thing, but it's a fairly substantial change and we will have to adjust our design docs (not a bad thing!) and other things, so I want to make sure we have wide design approval. For that reason: cc @folletto @mattmiklic @SylvesterWilmott

Also, I'd like to see if we can/should match similar on iOS. cc @etoledom

With all that said, here are some notes on your screenshots:

  1. Looks great! I was happy Calypso also darkened those icons recently

  2. If we decide to darken the text on the timestamp, we should also darken the icon to match it

  3. I'm not sure if we want the input placeholder text to be that dark. Can we make it any lighter while still being passable on the contrast tests? The goal (imo) is to get that to be light enough that it contrasts enough with the actual user-entered content in the input. Also, we could probably use that same (light) color on the inactive SEND button, and then when it's actionable, make it darker or some shade of blue. Icons and labels on the action bar look great.

  4. The only change I'm seeing here is the darkening of the table header text, which looks good. I'm wondering if we should also darken the ••• ellipsis menu icon for consistency - thoughts?

  5. 👍

  6. Same as number 3, I'm not sure if placeholder text should be that dark. It's also a neutral gray, whereas most other places we're using a brand-specific shade of gray so we'll want to decide on which shade to use. The values on url, filename, etc. look good there

  7. 👍

  8. I like the darkening of the hint text below the inputs, and darkening the dropdown label 👍 . Perhaps the dropdown arrow icon should be the same color as the text - or - a darker shade of blue. I'd lean towards the former. One tiny thing: for the 500 characters remaining hint inside the textarea, can we either keep it the same as it was or darken it slightly? It seems to be lighter than previous

  9. 👍

  10. 👍

  11. 👍

  12. 👍

  13. Is there a brand shade in between the lighter color of the 'before' and darker of 'after'? If not, let's roll w/ the after

  14. Similar to 3 and 6, the text input placeholder and send button might be too dark

  15. Only change I'm seeing is the heading colors, which looks 👍

  16. 👍

  17. I'm not sure about making the entire notification string the same dark shade. Can we maintain the separation of colors in strings between light/dark, but simply darken the parts that are too light? For example: https://cloudup.com/cp2yVHBpVhP

  18. 👍

  19. 👍

@folletto
Copy link
Contributor

folletto commented Apr 16, 2018

Part 2: 10

Note that these screens aren't just low contrast, it's also an old design. If they were designed today they would be likely on cards or at least white background.

There are no contrast issues there, apart from icons. Should I change thir color to something greyer?

Note: contrast of decorative icons doesn't matter. The only time it matters when an icon contrast has to be ok is when the icon has no label on screen.

So, to answer: no need to change these.

Reader in calypso

Reader in Calypso doesn't follow our guidelines (long discussion), so I wouldn't refer to Reader for design patterns guidance.

@color/grey_text_min

For confirmation: that's a good variable to use, like Calypso's $gray-text-min (here).

We need to get our style game together.

Absolutely yes.
I'd just note that a lot of these screens have issues due to being old (pre-Material even?), not because of style issues per-se.

As a geneal consideration here: I'm totally fine in favoring a darker contrast in these old screens as any other alignment work we'd have to do would have to start by fixing the general design patterns first. ;)

@khaykov
Copy link
Member Author

khaykov commented Apr 17, 2018

@folletto thanks for the insight! What I also mean by getting our style game together is standartizing and developing a proper style sheet, so we won't have to manually set a color or a text size to elements anymore. Looking at both android app and calypso I see that there is an affort to achieve this, but it's quite localized :)

@iamthomasbishop Thanks for a great review! After looking at all these greys I stopped noticing things :D I fixed most of the problems, and also have a couple of comments:

If we decide to darken the text on the timestamp, we should also darken the icon to match it

Done!
https://gyazo.com/cddb518ae100c0df1f7ded8c78585764

Text placeholder color:
https://gyazo.com/aab93a39f73c8c5d32c866c8df257fdc

https://gyazo.com/19c4c1d496ca1dfa2468a68688eae6d0

https://gyazo.com/e4456e9a4c566e2fa97905d899919851

I found that grey_darken_10 (#668eaa) works pretty well. WDYT?

Also, we could probably use that same (light) color on the inactive SEND button, and then when it's actionable, make it darker or some shade of blue.

SEND button is always active, on Android at least.

I like the darkening of the hint text below the inputs, and darkening the dropdown label 👍 . Perhaps the dropdown arrow icon should be the same color as the text - or - a darker shade of blue. I'd lean towards the former. One tiny thing: for the 500 characters remaining hint inside the textarea, can we either keep it the same as it was or darken it slightly? It seems to be lighter than previous

https://gyazo.com/65fc750deb6e44a16e4d54cffb794906

We are using blue_wordpress (#0087be) for similair controls, so I changed dropdown icon color to it.
500 characters remaining is now same as the hint color in other text input fields.

Is there a brand shade in between the lighter color of the 'before' and darker of 'after'? If not, let's roll w/ the after

You mean the color of comment/like icons/labels?

If so, we have a ton of different greys :)
https://gyazo.com/5aeda98cce45f83f3fc1670770797219

I was going for the same color as the rest of the icons (like in My Site tab). Would you like me to change the color to something else?

I'm not sure about making the entire notification string the same dark shade. Can we maintain the separation of colors in strings between light/dark, but simply darken the parts that are too light? For example: https://cloudup.com/cp2yVHBpVhP

I looked at the Calypso for reference on this one. This is how the same notification looks there:
https://gyazo.com/af96478c83c0c24795b8ccae44329aba

Shoul we go for a parity with Calypso or it doesn't really matter? (maybe @folletto has some thoughts on this one too).

@folletto
Copy link
Contributor

What I also mean by getting our style game together is standartizing and developing a proper style sheet, so we won't have to manually set a color or a text size to elements anymore. Looking at both android app and calypso I see that there is an affort to achieve this, but it's quite localized :)

Interesting, reading some of the code it looked like to me we already had variables and so on, but if not, I agree that's a worthy effort. :)

Copy link
Contributor

@malinajirka malinajirka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wooooow, what a huge amount of work you've done, great job!!! Fixing inconsistencies between different preferences screens makes me really happy :-).

I've tried to go through most of the screens and I've found just few issues.

  1. The switch background color seems broken.

broken_switch

  1. My Site -> Comments screen seems to be a bit inconsistent with Notifications screen.

comments

3. 4. 5. These might still have contrast issues

graph_view

create_new_site

notifications

PPPPS: We need to get our style game together.

100 % Agree! IMO we shouldn't use specific colors (such as grey_dark) in our layouts -> we should either use something general like hint_primary or use specific colors only in styles.xml and themes.xml. Using specific colors in layouts makes it really difficult to change the look of our application as the same color is used for different UI components..... But this is definitely out of scope of this PR.

Thanks!!!

@@ -229,6 +229,7 @@ public boolean onPreferenceChange(final Preference preference, final Object valu
int index = Integer.parseInt(value.toString());
CharSequence[] entries = editorTypePreference.getEntries();
editorTypePreference.setSummary(entries[index]);
editorTypePreference.setValue(value.toString());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this line really needed? As far as I understand, the onPreferenceChange is called before the system updates the value - if we return true from the onPreferenceChange, the system should update the value automatically.

I'm just a bit afraid, that updating the value manually might have some side effects. WDYT?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, you are right, the system will save preference, but we are using custom DetailListPreference (for style reasons) which will not pick the change automatically so we have to manually set the value.

@mattmiklic
Copy link
Member

This is nice, the inconsistency on Android has been a pet peeve of mine for a while but there just hadn't been time yet to really audit how we're using color to make it more consistent. Big 👍 to this effort.

It would be helpful if there were an APK the designers could install to give this a test-run to check for edge cases that might need special attention, like the blue-on-blue toggle switch that @malinajirka noted above.

@etoledom
Copy link
Contributor

etoledom commented Apr 17, 2018

Also, I'd like to see if we can/should match similar on iOS.

@iamthomasbishop I we absolutely should!

We should think about Android and iOS apps as one consistent product because... aren't they?
Of course there are platform specific differences but things like colors and the experience in general should match completely.

I haven't seen any big inconsistency on iOS but there are some low contrast details for sure.

It might be good to finish this changes on Android, and then apply the final result on iOS.
What do you think?

@malinajirka malinajirka self-assigned this Apr 18, 2018
@iamthomasbishop
Copy link

iamthomasbishop commented Apr 19, 2018

@khaykov Again, great work! I'm so happy that we're focused on consistency and accessibility.

Regarding your last comments above:

Placeholder text color (gray-darken-10) looks good 👍

SEND button is always active, on Android at least.

Fair enough, let's roll w/ it.

We are using blue_wordpress (#0087be) for similair controls, so I changed dropdown icon color to it.

👍

I was going for the same color as the rest of the icons (like in My Site tab). Would you like me to change the color to something else?

Sounds good - let's roll w/ it :)

I looked at the Calypso for reference on this one. This is how the same notification looks there...Shoul we go for a parity with Calypso or it doesn't really matter?

Yea, that's fine - let's match Calypso there.


Also good catches from @malinajirka . I'm not exactly sure what we should do about the blue-on-blue toggle...I'm not seeing the same thing if I go to Me » Notifications:

screenshot_20180419-151114


Of course there are platform specific differences but things like colors and the experience in general should match completely.

It might be good to finish this changes on Android, and then apply the final result on iOS.
What do you think?

@etoledom - I'm not super concerned with every single color of every component matching exactly across platforms (yet! A new design language will give us the opportunity to get all of our ducks in a row across all platforms - so we will be addressing that in a wider way soon!).

With that said, I do think within each app colors of components should be consistent (and contrast-tested, of course) across all screens within the app.

@khaykov
Copy link
Member Author

khaykov commented Apr 20, 2018

@iamthomasbishop thanks! If you notice any weird colors after we merge this PR let me know and I'll fix them asap :)

@malinajirka I think I fixed all the issues you mentioned and ready for another round :)

@malinajirka
Copy link
Contributor

Thanks @khaykov for fixing all the issues;)!

I have found few more issues. I'm sorry I missed them during the first round:(.

  1. Sharing buttons preferences are not consistent with other preferences screens.
    sharing_buttons

  2. The plugins icon doesn't use the correct shade of blue
    mysite

3., 4., 5. These might still have contrast issues
User Detail
user_detail

Sharing
sharing

Plugin Detail
plugin_detail

Thanks!!!

…id into feature/awesome-accessibility-color-audit

# Conflicts:
#	WordPress/src/main/java/org/wordpress/android/ui/prefs/notifications/NotificationsSettingsFragment.java
#	WordPress/src/main/res/xml/notifications_settings.xml
@khaykov
Copy link
Member Author

khaykov commented Apr 30, 2018

@malinajirka thank you so much for taking a look! I updated contrast at Sharing preferences screen, but I'll leave the overall design for another issue (#7682) - it's custom Preference screen, and redesigning it is probably will require some consideration.

The User Detail screen is actually supposed to be like this - we are reducing the opacity of the container to indicate that it's disabled.

@malinajirka
Copy link
Contributor

Thank you so much for this PR. Looks good! 

@malinajirka malinajirka merged commit 1770053 into develop May 1, 2018
@malinajirka malinajirka deleted the feature/awesome-accessibility-color-audit branch May 1, 2018 09:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Accessibility [Status] Needs Design Review A designer needs to sign off on the implemented design.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants