Bug 231067 - [Intro] Welcome Page - Accessibility - Problems with colours
Summary: [Intro] Welcome Page - Accessibility - Problems with colours
Status: RESOLVED WORKSFORME
Alias: None
Product: Platform
Classification: Eclipse Project
Component: User Assistance (show other bugs)
Version: 3.3.1   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: platform-ua-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: accessibility
Depends on:
Blocks:
 
Reported: 2008-05-08 04:41 EDT by Kim Woods CLA
Modified: 2012-03-30 12:08 EDT (History)
5 users (show)

See Also:


Attachments
Plugin which allows fonts to scale (2.54 KB, patch)
2008-06-17 15:13 EDT, Chris Goldthorpe CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Kim Woods CLA 2008-05-08 04:41:09 EDT
Build ID: M20071023-1652

Steps To Reproduce:
The Welcome Page does not meet accessibility standards for supporting High Contrast and System settings

This problem as been split out from bug 213309 at the request of Chris Goldthorpe 

1.From Eclipse select help and then the Welcome page 
Select the customize page icon and ensure Purple Mesh is the Theme

2.From the windows control panel select Accessibility options and the Display tab
Tick he use high contrast button
Select settings and select High Contrast #2 Extra large   (Other High contrast modes show similar problems) 
Select ok
Select apply

3.Now restart Eclipse and bring up the Welcome page

Whatever colour I set using High Contrast mode or changing the system colours
the general text explanations always seem to be displayed it blue - it should take on the system setting.
This happens whichever Theme I use.
- This means that the page is not accessible as it fails the checkpoint
'Inherit system settings for font, size, and color for all user interface controls' Checkpoint item 4.5




More information:
Comment 1 Chris Goldthorpe CLA 2008-05-08 12:27:10 EDT
In order to solve this we need to introduce a way to add additional CSS which is only included in High Contrast mode. There is not enough time to implement and test this for Eclipse 3.4, targeting Eclipse 3.5.
Comment 2 Chris Goldthorpe CLA 2008-05-28 14:20:04 EDT
The ideal long term fix will be to modify the intro code so that there is a way in which css can be conditionally inserted into each page if high contrast mode is detected. A short term workaround could be to create a plugin which contained an accessible theme, I will describe each in more detail below.

Conditional css inclusion is be the best solution as it would happen automatically with no user intervention required. IntroModelRoot can currently expand the variable $theme$ to insert css specific to a particular theme. If another variable $high-contrast$ was added different css could be inserted depending on whether or not high contrast was enabled. The high contrast CSS would use CSS system colors such as WindowText. The themes would need to be modified to take advantage of this new capability.

The short term fix of creating an accessible theme would work as follows. A theme whose colors worked well in both high and low contrast would be created in it's own plugin. Users of Welcome in high contrast mode would need to switch to this theme.

Comment 3 Kim Woods CLA 2008-06-02 09:21:23 EDT
Hello Chris,
The short term fix of an accessible plug-in with just a different set of colours will not help  it will not conform to the checklist - to conform to the checklist the Welcome page must  cope with whatever high contrast  or system colours the user selects and in Windows there are lots of different ones!

Hence just giving one other choice of colours is not acceptable.

Kim.
Comment 4 Chris Goldthorpe CLA 2008-06-02 20:00:45 EDT
My previous comments were written before I started to experiment with the code, now I have looked into this some more I realize that I did not understand how browsers deal with high contrast. So forget what I said in my previous comments here is what is really going on.

Welcome uses a web browser to display the intro, which is actually HTML. When Windows is in High Contrast mode the color of the text is determined solely by the browser preferences. For Internet Explorer the default color for a hyperlink is dark blue or purple depending on whether it has been visited. These can be overriddden by the user using the Tools/Internet Options/Colors preference in the browser.

I have to believe that any real user who is using this high contrast more will already have their browser preferences set so that the links have greater contrast with the page.

To summarize:
1. There is no way that I can change the high contrast colors using CSS because in high contrast mode the browser ignores text colors in css files.
2. If the high contrast user has configured his browser so that links are a contrasting color as compared to the background he will not see a problem with welcome colors.
3. If this is not acceptable the only fallback position I can see is to force SWT mode when high contrast is detected, which we can do on Windows.
Comment 5 Kim Woods CLA 2008-06-03 04:12:03 EDT
Hello Chris,
Thanks for the additional information.

I think you are right in stating that the user will have the colours in their Browser set up to be the most suitable for them.

Is it possible to give the user the option of running the SWT version if they need to rather than forcing it whenever high contrast is selected???

I assume that this will still give all the Welcome page information for both Eclipse and any product that contribute Welcome Page information and that it will pick up both the system colours and fonts
as there are high contrast modes which also increase the font size which the above solution does not seem to fix.

If this is the case then I think  it would conform to the checklist  and would also solve the Welcome Page font problem bugzilla report 231064

Kim.
Comment 6 Kim Woods CLA 2008-06-03 04:39:03 EDT
Hello Chris,
I have just discovered that with Internet Explorer the browser option
 Tools/Internet Options/Accessibility  and then selecting  'select ignore font size specified on Web pages'
does help with the font size in high contrast mode.

Kim. 
Comment 7 Chris Goldthorpe CLA 2008-06-17 15:13:51 EDT
Created attachment 105192 [details]
Plugin which allows fonts to scale

Here is one way of achieving scaleable fonts. If the attached plugin project is added to an Eclipse installation the font declarations in universal welcome will no longer be a fixed size but will instead scale according to the font size used in the users browser. On Windows the way to achieve this would be to hold down the control key while turning the mouse button. Please try this and see if it seems like an acceptable solution. I have so far only tested on Windows but the same approach should work everywhere. If the user has set up their browser so that the font sizes are readable then the Welcome pages will also be readable.
Comment 8 Chris Goldthorpe CLA 2008-06-17 15:25:20 EDT
The last comment was intended for Bug 231064 - I have copied the attachment there.

Regarding this bug I believe that we need to understand whether this is really a problem for the vision impaired user. The workaround is to set the browser preferences so that the foreground and background are contrasting and I would expect this to be something that a user of high contrast would always do.
Comment 9 Chris Goldthorpe CLA 2009-04-02 17:41:31 EDT
I believe this problem is contained - users will only run into this problem if their Internet Explorer color preferences are incompatible with the high contrast setting of Windows, this is a situation that a tester can run into when turning on high contrast but I do not believe that a real user who has their PC set to high contrast will ever see it.

Since we have no control over the colors in high contrast mode I am removing the milestone.
Comment 10 Carolyn MacLeod CLA 2012-03-30 12:08:34 EDT
Closing this bug as "Works for me". See comment 9 for the reason, and comment 6 for the setting that a real high contrast user (rather than a tester) would use in IE.