Bug 101854 - [accessibility] Visualiser stripes use colour as the only way to convey information
Summary: [accessibility] Visualiser stripes use colour as the only way to convey infor...
Status: RESOLVED FIXED
Alias: None
Product: AJDT
Classification: Tools
Component: UI (show other bugs)
Version: 1.2.0   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Ben Dalziel CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-06-27 08:15 EDT by Matt Chapman CLA
Modified: 2005-08-12 10:30 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matt Chapman CLA 2005-06-27 08:15:49 EDT
From the accessibility guidelines at:
http://www.ibm.com/able/guidelines/software/accesssoftware.html
section 4.2 says:
   Use color as an enhancement, not as the only way to convey information or 
   indicate an action.

However the Visualiser colours stripes according to the corresponding aspect. An
alternative is needed to satisfy the above requirement, such as text labels, or
a dithering pattern perhaps. A good way to test this would be to take a project
such as the Spacewar example and display it in the Visualiser, then print a
screenshot in black and white, and then see if each aspect can be identified.
Comment 1 Ben Dalziel CLA 2005-08-08 04:21:37 EDT
Implemented in Build 1.3.0.20050805143319 for Eclipse 3.1.

Here is how it works:
Colours for different types of visualiser stripe are assigned in the usual way,
dependant on the colour palette selected in the Visualiser Preferences Drawing
Options Tab.

If the 'Patterns' option is selected, a Boolean field in the
VisualiserPreferences class is set to true and the PatternVisualiserPalette is
used. The PatternVisualiserPalette extends the DefaultVisualiserPalette which
means that calls to retrieve colour information return results as if the
DefaultPalette were selected.  This means that returning to view with patterns
after viewing with the AJDT Palette for example, will result in the same
patterns being used for the same stripes.

When stripes are painted, a condition is added as to whether to fill the stripe
with colour as usual or have the designated pattern tiled across them.  This
uses the Boolean field set in the VisualiserPreferences class.  This tiling of
patterns relies on the PatternVisualiserRenderer.  This takes the stripe and the
colour associated with the stripe.  If the colour is recognised, the allocated
pattern from the mapping is used. If the colour is not recognised, the next
pattern in the predefined list is used.  If all predefined patterns have been
used, a random pattern is generated. Once the correct pattern has been
determined a call is made to setBackgroundPattern on the stripe. 

There is currently no Eclipse 3.0 release because SWT only added support for
patterns in eclipse 3.1 and so the Pattern class and the fillShapeWithPattern
method are missing in 3.0.
Comment 2 Ben Dalziel CLA 2005-08-12 10:30:59 EDT
Fixed