`
`14 Special Design Considerations
`
`The following
`and additional
`
`on types of disabilities
`sections provide information
`about how to address
`recommendations
`the needs
`
`of
`
`customers with those disabilities
`
`Types of Disabilities
`
`There are many types of disabilities
`but they are often grouped
`into several broad categories
`These include visual hearing physical
`movement
`impairments and cognitive and sei
`or language
`zure disorders
`
`speech
`
`Visual Disabilities
`
`blindness
`
`reduced
`
`from slightly
`Visual disabilities
`visual acuity to total
`range
`Those with reduced
`visual acuity may only require that
`larger text and graphics For example the
`your software support
`system provides scalable fonts and controls to increase the size of
`users who are blind or have
`To accommodate
`text and graphics
`severe impairments make your software compatible
`with speech
`Braille utilities described
`later in this chapter
`
`or
`
`impairments may make it difficult
`Color blindness and other visual
`between certain color combinations This is
`recommended
`is not
`Abs ays use color
`
`as the only means of
`an additive or enhan
`
`as
`
`for users to distinguish
`one reason why color
`cons eying information
`
`cing property
`
`Hearing Disabilities
`
`Users who are deaf or hard of-hearing
`to detect
`are generally unable
`anditory output at normal or maximum volume levels
`or interpret
`the only means of communi
`Avoiding the use of auditory output
`is the best way to support users with this disabil
`cating information
`redundant additive property
`ity Instead use audio output only as
`infor
`the audio
`as an option to supplement
`or provide visual output
`mation For more information
`about supporting sound see the sec
`tion Sound earlier
`
`in this chapter
`
`as
`
`404
`
`The Windows
`
`Interface
`
`Guidelines
`
`for Software
`
`Design
`
`
`
`426
`
`
`
`Special Design Considerations
`
`Chapter
`
`14
`
`Physical Movement Disabilities
`Some users have difficulty
`to perform certain physical
`or are unable
`mouse or simultaneously
`tasks
`for example moving
`pressing
`have
`two keys on the keyboard Other
`individuals
`tendency
`single key Con
`strike multiple keys when targeting
`sideration of physical ability is important not only for users with
`users who need time to master
`The best
`to interact with the interface
`
`inadvertently
`
`to
`
`all
`
`but also for beginning
`disabilities
`the motor skills necessary
`way to support
`these users is by supporting all your basic operations
`using simple keyboard and mouse
`interfaces
`
`Speech or Language Disabilities
`
`disabilities
`
`such
`
`find it difficult
`
`to
`
`Users with language
`as dyslexia
`or grammar-check utilities can help children
`read or write Spell
`first lan
`users with writing impairments and users with
`and utilities designed
`for users
`guage
`Supporting
`tools
`accessibility
`who are blind can
`also help those with reading impairments Most
`design issues affecting users with oral communication
`difficulties
`
`different
`
`apply only to utilities specifically
`
`designed
`
`for speech
`
`input
`
`Cognitive Disabilities
`
`Cognitive
`
`disabilities
`
`differences
`
`can take many forms including
`perceptual
`and memory impairments You can accommodate
`users
`them to modify or simplify your
`with these disabilities
`by allowing
`as supporting menu or dialog box cus
`such
`interface
`Similarly using icons and graphics to illustrate objects
`for users with some types of cognitive
`be helpful
`can
`
`softwares
`
`tomization
`and choices
`
`impairments
`
`Seizure Disorders
`
`to visual
`
`information
`
`that alternates
`
`its
`
`Some users are sensitive
`or flashes at particular rates
`often the greater
`appearance
`the greater the problem However there is no perfect
`quency
`interfaces on the systems cursor
`rate Therefore base all modulating
`blink rate Because users can
`particular fre
`this value
`customize
`is not practical provide your own
`quency can be avoided If that
`the flash rate
`interface for changing
`
`the fre
`
`flash
`
`The GetcaretBlinklime func
`
`tion provides
`
`access
`
`to the
`
`current
`
`cursor
`
`more
`
`information
`
`blink rate setting
`about
`this func
`
`For
`
`documentation
`tion see the
`in the Win32 SDK
`
`cluded
`
`in
`
`Interface
`
`Guidelines
`
`for Software Design
`
`495
`
`The Windows
`
`
`427
`
`
`
`Chapter
`
`14 Special Design Considerations
`
`Types of Accessibility Aids
`There are
`number of accessibility
`to assist users with certain
`aids
`To allow these users to effectively interact with
`types of disabilities
`your application make certain
`with these utilities
`it is compatible
`This section briefly describes the types of utilities and how they work
`
`One of the best ways
`to accommodate
`in your soft
`accessibility
`wares interface is to use standard Windows
`wherever
`conventions
`possible Windows already provides
`ization for users and rriost accessibility
`follows
`standard
`system conventions
`that
`
`degree of custom
`aids work best with software
`
`certain
`
`Screen Enlargement Utilities
`
`utilities or
`
`Screen enlargers also referred to as screen magnification
`large print programs
`portion of their screen
`allow users to enlarge
`They effectively turn the computer monitor
`showing
`portion of an enlarged
`virtual display Users
`then use the
`only
`mouse or keyboard to move this viewport
`to view different
`areas
`to track where users are
`of the virtual display Enlargers also attempt
`and the activation of windows
`working following
`the input
`focus
`menus and secondary windows and can automatically move the
`to the active area
`viewport
`
`into
`
`viewport
`
`Screen Review Utilities
`
`People who cannot
`the information with the aid of
`
`use the visual
`
`information
`
`interpret
`
`on the screen can
`screen review utility also
`access utility
`screen reader program or speech
`on the screen
`Screen
`review utilities take the displayed information
`and direct
`alternative media such
`as synthesized speech
`it through
`refreshable Braille display Because
`both of these media present
`the screen review utility must render other
`information
`on the screen as
`
`text
`
`the
`
`their spatial
`
`relationships
`
`is presented
`
`to
`
`406
`
`The Windows Interface
`
`Onidelines
`
`for Software Design
`
`
`
`428
`
`referred to as
`
`or
`
`only text
`
`information
`
`text
`
`that
`
`the appropriate
`is determine
`screen elements They must
`labels or descriptions for graphical
`to provide descriptive information
`also track users activities
`about
`what
`the user is doing These utilities often work by monitoring
`system interfaces that support drawing on the screen
`They build an
`off-screen database of the objects on the screen
`and
`their properties
`Some of this information
`
`
`
`Special Design Cnnsideratinns
`
`Chapter
`
`14
`
`the screen changes and other information
`users as
`until users request it Screen review utilities often include support
`files also referred to as set
`files or profiles for
`for configuration
`
`is maintained
`
`particular
`
`applications
`
`Voice Input Systems
`
`choose
`
`Users who have difficulty
`typing can
`voice input system
`recognition program to control soft
`also referred to as
`speech
`and keyboard
`ware with their voice instead of mouse
`Like screen
`identify objects on the screen
`reader utilities voice
`input systems
`the
`that users can manipulate Users
`an object by speaking
`activate
`the object Many of these utilities simulate key
`label
`that
`identifies
`so if your software includes
`keyboard interface
`of this form of input
`to take advantage
`
`board
`interfaces
`it can be adapted
`
`On-Screen Keyboards
`
`Some individuals with physical disabilities
`cannot
`use
`standard
`to work with an on
`keyboard
`but can use special devices
`designed
`devices display groups of commands
`screen keyboard
`Switching
`displayed on the screen
`and the user employs one or more switches
`command within the group An
`to choose
`selected group then
`special mouse or headpointer
`allows
`user to use
`other technique
`the mouse pointer on the screen
`device that
`lets users manipulate
`head motion to point
`to graphic images of keys displayed
`through
`on the screen to generate
`
`keystroke
`
`input
`
`Keyboard Filters
`
`as erratic motion tremors or slow
`such
`Impaired physical abilities
`response can sometimes be compensated by filtering
`out inappropri
`The Windows Accessibility Options
`wide
`ate keystrokes
`supports
`options These are generally independent
`range of keyboard filtering
`of the application with which users are interacting
`and therefore
`require no explicit support except
`the standard
`system interfaces
`for keyboard input However users relying on these features may
`type slowly
`
`for
`
`Interface
`
`Guidelines
`
`fnr Snftware Design
`
`407
`
`The Windnws
`
`
`429
`
`
`
`Chapter
`
`14 Special Design Considerations
`
`Compatibility with Screen Review Utilities
`You can use the following
`to ensure software compatibil
`techniques
`ity with screen review utilities The system allows your application
`whether
`the system has been configured to provide
`to determine
`screen review utility allowing your software to enable
`snpport
`or disable certain capabilities
`
`for
`
`You
`check
`can
`SCREENREADER
`
`ing the GetSystemiVietrics
`For more
`
`information
`
`the SM
`setting us
`function
`
`about
`
`this
`
`function
`
`and other
`
`information
`
`about
`
`screen
`
`supporting
`the documentation
`see
`the Win32 SDK
`
`review
`
`utilities
`
`included
`
`in
`
`Controls
`
`Use standard Windows
`controls wherever possible Most of these
`have already been implemented
`to support screen review and voice
`input utilities However custom controls you create may not be
`usable by screen review utilities
`
`Always include
`controls
`
`label
`
`even if you do not want
`the
`for every control
`label
`to be visible This applies regardless of whether you
`controls or your own specialized controls
`use standard
`such
`as
`owner drawn controls or custom controls
`If the control
`
`does not
`
`provide
`
`label you can create
`
`label using
`
`static text control
`
`label
`
`the
`
`Follow the normal la out conventions
`by placing the static text
`before the control above or to the left of the control Also set
`keyboard TAB navigal
`ion order appropriately
`so that
`tabbing to
`to the associated
`label navigates
`control
`instead of
`it identifies
`label To make certain
`correctly include
`the label
`is recognized
`at the end of the labels
`text string unless you are labeling
`colon
`In cases where
`button tab or group box control
`is not
`label
`needed or would be visually distracting provide the label but do not
`make it visible Although the label is not visible it is accessible to
`screen review utility
`
`that
`
`Text
`for choices within
`control For ex
`labels are also effective
`ample you can enhance menus or lists that display colors or line
`same form of text
`as shown
`widths by including
`representation
`Figure 14.1
`
`in
`
`408
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`
`
`430
`
`
`
`Special Design Considerations
`
`Chapter
`
`14
`
`labels identify
`
`color
`
`choices
`
`Text
`
`Figure
`
`14.1 Using text
`
`to help identify
`
`choices
`
`combined presentation is too difficult
`If providing
`choice between text and graphical
`or choose
`representation
`them based
`on the systems screen review utility setting
`
`offer users the
`one of
`
`Text Output
`
`Screen review utilities usually interpret
`including properties
`size and face
`is displayed with standard system
`such
`as font
`interfaces However
`text displayed as graphics for example bit
`screen review utility To make it
`mapped
`is not accessible to
`text
`label and
`accessible your application can create an invisible
`representation of text with it by drawing the
`associate the graphical
`null operator NOP Screen review
`the graphic with
`read standard
`utilities can
`
`text
`
`that
`
`text
`
`text over
`
`can also
`use metafiles
`mation that
`
`so you
`representations in metafile
`text
`instead of bitmap
`images for graphics infor
`includes text
`
`The Windows Interface
`
`
`Guidelines
`
`for Software Design
`
`409
`
`431
`
`
`
`Chapter
`
`14 Special Design Considerations
`
`Graphics Output
`
`Users with normal sight may be able to easily distinguish
`as map or
`elements
`of
`such
`graphic or pictorial
`information
`if they are drawn as
`single image however
`screen
`even
`chart
`review utility must distinguish
`between different
`components There
`number of ways
`to do this Any of these methods can be omit
`are
`ted when the systems screen review setting
`is not set
`
`different
`
`consider separately drawing each com
`When using bitmap images
`that requires identification If performance is an issue
`ponent
`combine the component
`images in an off screen bitmap using sepa
`rate drawing operations and then display the bitmap on the screen
`You can also draw multiple bitmap images
`with
`single operation
`single metafile
`
`with
`
`review utility to ideni
`
`redraw each component
`separately or draw
`Alternatively you can
`image to identify each
`null operator This
`region using
`separate
`will not have an effect
`on the visible
`image but allows
`screen
`ify the region You can
`also use this method to
`graphic element
`label with
`
`associate
`
`text
`
`When drawing graphics
`use standard Windows drawing functions
`wherever possible If you change
`an image directly
`for example
`into its memory
`bitmap by writing directly
`screen
`clearing
`review utility will not be able to recognize
`and
`the content
`describe it to users
`inappropriately
`will
`
`change
`
`Icons and Windows
`
`Accompany icons that represent objects with
`title of
`text
`label
`the objects name Use the system font and color
`for icon labels and
`follow the system conventions
`for placement of the text
`the icon This allows
`screen review utility to identify the object
`
`relative
`
`to
`
`without special support
`
`Similarly make certain that all your windows
`have titles Even
`if
`is not visible it is still available to access utilities The more
`the title
`your window titles the easier users can differentiate
`between
`unique
`them especially when using
`screen review utility Using unique
`window class
`names is another way to provide for distinct window
`appropriate window
`identification but providing
`titles is preferred
`
`410
`
`The Windows
`
`Interface
`
`Guidelines
`
`tor Software Design
`
`
`
`432
`
`
`
`Special Design Considerations
`
`Chapter
`
`14
`
`The Users Point of Focus
`
`Many accessibility
`follow where the user is working For
`aids must
`screen review utility conveys to users where the input
`example
`focus
`to ensure that users
`is
`screen enlarger pans
`its viewport
`portion of the screen Most utili
`kept on the visible
`focus
`is always
`ties give users the ability to manually move the viewport but this
`becomes
`laborious process especially if it has to be repeated
`each
`focus moves
`time the input
`
`When
`the user selects
`
`the move of the input
`as when
`focus such
`the system handles
`menu navigates
`dialog box
`between controls in
`window an accessibility
`utility can track the change
`or activates
`However the utility may not detect when an application moves
`the
`focus within its own window Therefore whenever possible
`input
`focus such
`use standard
`as the
`system functions to place the input
`insertion point Even when you provide your own implementa
`tion of focus you can use the system functions to indicate focus
`location without making the standard
`focus
`indicator visible
`input
`
`text
`
`The SetCaretPos
`
`function
`
`is
`
`an example of
`
`system func
`
`to indicate
`
`focus
`
`tion you can
`For more
`location
`
`use
`
`this function
`
`tion included
`
`about
`information
`the documenta
`SDK
`in the W1n32
`
`see
`
`Interfaces
`
`to
`
`Timing and Navigational
`Some users read text or press keys very slowly and do not respond
`the average user Avoid displaying
`events
`feed
`as quickly as
`critical
`removing them
`hack or messages briefly and then automatically
`to them Similarly limit
`because many users cannot
`read or respond
`If you do include
`based
`your use of time-out
`time based
`way for users to configure the time-out
`interface
`always provide
`
`interfaces
`
`on the movement
`Also avoid displaying
`based
`or hiding information
`system interface for ex
`standard
`of the pointer unless it is part of
`can benefit some users
`ample tooltips Although such
`techniques
`they may not be available for those using accessibility
`utilities
`consider making these features op
`If you do provide such
`support
`so that users can turn them on or off when
`screen review
`tional
`utility is installed
`
`avoid using general navigation to trigger
`Similarly you should
`aids may need to navigate
`users of accessibility
`because
`erations
`all controls For example basic TAB keyboard navigation
`through
`dialog box should not activate
`actions associated with
`control
`command button How
`check box or carrying out
`be used
`to facilitate further user interaction
`drop down control
`
`in
`
`such
`
`as setting
`
`ever navigation can
`such
`as validating
`user input or opening
`
`op
`
`The Windows Interface
`
`
`Onidelines
`
`for Software Design
`
`411
`
`433
`
`
`
`Chapter
`
`14 Special Design Considerations
`
`Color
`
`interface elements
`
`as
`
`color
`
`on the system
`Base the color properties of your
`colors for window componeuts
`colors
`rather than defining specific
`Remember
`and background
`to use appropriate foreground
`combinations If the foreground
`of an element
`is rendered with the
`its background rather
`button text color use the button face color
`than the window background
`If the system does not provide
`can be applied to some elements you can
`standard
`color settings
`that
`include your own interface that allows users to customize
`colors
`In
`you can provide graphical patterns as an optional
`addition
`way to distinguish information
`for colors as
`
`color
`
`substitute
`
`For more
`
`the use of color
`
`about
`information
`and how it
`
`is
`
`for
`
`used
`elements
`Chapter 13 Visual Design
`
`interface
`
`see
`
`The GetSystemMetrics
`access to the
`
`func
`
`tion provides
`SM..MIGHCONTRAST
`setting For
`this func
`about
`more
`documentation
`in
`tion see the
`in the Win32 SDK
`
`information
`
`cluded
`
`The system also provides
`called High Contrast
`global setting
`the Windows Accessibility Op
`Mode that users can set
`through
`tions The setting provides contrasting color settings
`for foreground
`and background visual elements Your application should
`cheek
`status when it starts
`and whenever
`it receives notifica
`this settings
`changes When
`tion of system setting
`set adjust your
`for the high coutrast color scheme
`on those
`In addition
`based
`set
`whenever High Contrast Mode is set hide any images that are drawu
`for example watermarks or logos to maintain the leg
`behind
`on the screen You can also display mono
`ibility of the information
`chrome versions of bitmaps
`and icons using the appropriate
`color
`
`text
`
`foreground
`
`for
`
`interface colors
`
`For more
`
`information
`
`about
`
`the system metrics
`13 Visual
`
`for
`
`font
`
`and
`size see Chapter
`Design
`
`calability
`
`Another important way to provide for visual accessibility
`is to allow
`of screen elements Sometimes
`this simply means
`for the scalability
`The
`the font
`for the display of information
`users to change
`allowing
`the size and font of standard Windows
`system allows users to change
`You should
`use these same metrics for appropriately
`components
`you provide For your
`information
`adjusting the size of other visual
`own custom elements you can provide sealing by including
`TrueType font or metafiles for your graphics images
`
`It may also useful
`to provide sealing features within your applica
`tion For example many application provide Zoom command
`displayed in win
`that scales the presentation of the information
`dow or other commands that make the presentation
`of information
`to read You may need to add scroll bars if the sealed informa
`size of the window
`tion exceeds
`the current
`
`easier
`
`412
`
`The Windows
`
`Interface
`
`Guidelines
`
`for Software
`
`Design
`
`
`
`434
`
`
`
`Special Design Considerations
`
`Chapter
`
`14
`
`Keyboard and Mouse Interface
`step in accessi
`good keyboard interface is an important
`Providing
`wide range of disabilities
`For
`bility because
`it affects users with
`keyboard interface may be the only option for users who
`example
`are blind or use voice input utilities and those who cannot
`use
`mouse The Windows Accessibility Options
`often compensate for
`related to keyboard interaction
`however
`users with disabilities
`to compensate for problems related to pointing
`it is more difficult
`device input
`
`You should
`
`follow the conventions
`
`for keyboard navigation tech
`in this guide For specialized interfaces within your
`niques presented
`software model your keyboard interface on conventions
`that are
`familiar and appropriate for that cnntext Where
`they apply use the
`for your defining interaction
`standard
`control conventions
`guide
`as
`For example support TAB and SHIFTTAB key and access keys to
`support navigation to controls
`
`Make certain
`to all objects Avoid relying only
`the user can navigate
`on navigational
`the spatial
`design that requires the user to understand
`relationship between objects Accessibility utilities may not be able
`to convey such
`relationships
`
`well-designed mouse interface is also important Point
`Providing
`for some users
`ing devices may be more efficient
`than keyboards
`When designing the interface
`avoid making basic
`for pointing input
`drag and drop
`functions available only through multiple clicking
`manipulation and keyboard-modified
`mouse actions Such actions
`for more advanced
`shortcut
`are best considered
`users
`techniques
`Make basic functions available through
`
`single click
`
`techniques
`
`The system also allows your application to determine when the user
`rather than pointing device input You can
`relies on the keyboard
`use this to present special keyboard interfaces that might otherwise
`be hidden
`
`Check
`PREF
`
`the SM_KEYBOARD
`using GetSys
`setting
`to determine whether
`
`temiVietrics
`relies on keyboard rather than
`For more
`in
`
`user
`
`pointing
`
`device
`
`input
`
`Where possible avoid making the implementation
`on
`for supporting users
`device
`This is critical
`and users who may not wish to use or in
`
`dependent
`
`particular
`
`with physical disabilities
`
`of basic functions
`
`formation
`
`about
`
`this function see
`
`the documentation
`Win32 SDK
`
`included
`
`in the
`
`stall
`
`particular
`
`device
`
`The Windows Interface
`
`
`Gnidelioes
`
`for Software Design
`
`413
`
`435
`
`
`
`Chapter
`
`14 Special Design Consideratinns
`
`Documentation Packaging and Support
`
`Although this guide
`
`interface
`
`consideration
`
`documentation
`
`that
`
`Bibliography
`
`focuses primarily on the design of the user
`needs
`to take into
`design
`that provides for accessibility
`product For example consider
`other aspects of
`needs of your users For users who have difficulty
`reading or handling printed material
`provide online documentation
`If the documentation
`for your product
`or installation
`not available online you can provide documentation
`formats such
`as ASCII
`large print Braille or audio
`alternative
`text
`tape format Organizations
`and distribute
`can help you produce
`such documentation
`are listed in the accessibility
`section of the
`of this guide
`
`the
`
`instructions are
`
`separately in
`
`When possible choose
`format and binding for your documentation
`that makes
`As in the inter
`it accessible for users with disabilities
`form of communica
`face information
`be
`tion Bindings
`that allow
`with limited dexterity
`
`redundant
`
`to lie flat are usually better
`
`for users
`
`in color should
`book
`
`because many users with limited dexter
`Packaging is also important
`ity can have difficulty
`packages Consider
`opening
`including an easy
`overlap or tab that helps users remove shrink wrapping
`
`opening
`
`for all users it is difficult
`is important
`support
`Finally although
`lines Con
`to use standard
`users with hearing impairments
`support
`sider making these services available to customers
`tele
`phones also referred to as TT or TDD You can also provide
`
`using text
`
`for
`
`support
`
`through
`
`public bulletin
`
`boards or other networking
`
`services
`
`Usability Testing
`
`is
`
`to test
`
`disabilities
`
`test activities
`
`the general usability
`Just as
`of your software it
`it is importan
`good idea to test how well
`it provides for accessibility There are
`this One way is to include users with
`variety of ways of doing
`in your prerelease or usability
`In addition
`working relationship with companies that provide
`you can establish
`aids Information
`vendors
`about accessibility
`or poten
`accessibility
`test sites is included in the Bibliography
`
`tial
`
`414
`
`The Windnws
`
`Interface
`
`Guidelines
`
`tnr Software Design
`
`
`
`436
`
`
`
`Special Design Considerations
`
`Chapter
`
`14
`
`You can
`
`also
`
`fashion similar to that
`try running your software in
`Try some of the following
`used by
`person with disabilities
`for testing
`
`ideas
`
`Use the Windows Accessibility Options
`and set your display to
`as white text on
`high contrast scheme
`black background
`such
`Are there any portions of your software that become
`hard to use or recognize
`
`invisible
`
`or
`
`week without using mouse Are
`Try using your software for
`there operations that you cannot perform Was anything espe
`cially awkward
`
`the size of the default system fonts Does your software
`Increase
`look good Does your software fonts appropriately
`adjust
`to
`match the new system font
`
`still
`
`Internationalization
`
`To successfully compete in intemational markets your software
`and hard
`must easily accommodate
`differences in language culture
`ware This section does not cover
`aspect of preparing software
`summarize some of the key
`
`every
`the international market but it does
`design issues
`
`for
`
`For more
`
`information
`
`about
`
`the technical
`
`izing your application
`mentation
`included
`SDK
`
`details for local-
`the docu
`see
`in the Win32
`
`and adapting
`The process of translating
`software product
`for use in
`country is called localization Like any part of the inter
`different
`and
`face include international considerations early in the design
`screen information
`In addition to adapting
`development process
`and documentation
`for international use Help files scenarios tem
`and sample files should
`all be
`localiza
`part of your
`
`plates models
`tion planning
`
`Language
`Several
`
`factor when localizing an interface
`is not the only relevant
`common language
`but have different
`countries can
`share
`some countries
`for expressing information
`In addition
`keyboard convention
`
`conventions
`
`can share
`
`language
`
`but use
`
`different
`
`The Windows Interface
`
`
`Guidelines
`
`for Software Design
`
`415
`
`437
`
`
`
`Chapter
`
`14 Special Design Considerations
`
`is cultural
`
`10 consider when preparing software for inter
`more subtle factor
`differences For example users in the
`national markets
`U.S may recognize
`rounded mail box with
`flag on the side as an
`icon for mail program but this image may not be recognized
`by
`Sounds
`and their associated meanings may
`users in other countries
`also vary from country to country
`
`document
`
`It
`
`for your localization
`to create
`is helpful
`supplemental
`team that covers
`the terms and other
`elements
`your soft
`translatable
`ware uses and describes where they occut Documenting
`changes
`between versions saves time in preparing new releases Appendix
`of this guide provides recommended
`of many words
`translations
`used in the Windows
`interface
`
`Text
`
`store
`
`file
`
`major aspect of localizing an interface involves
`the
`translating
`and other controls
`text used by the software in its title bars menus
`entries To make localization easier
`messages and some registry
`interface text
`as resources
`
`in your applications
`resource
`code of the application Re
`it in the source
`rather than including
`member to also translate menu commands your application stores
`its file types in the system registry
`
`for
`
`has its own
`task Each foreign language
`Translation is
`challenging
`syntax and grammar Following
`are some general guidelines
`to keep
`in mind for translation
`
`Do not assume that
`word always
`at the same location in
`appears
`that word order is always
`the same that sentences
`sentence
`words always
`have the same length
`or that nouns adjectives
`keep the same form
`verbs
`
`or
`and
`
`always
`
`Avoid using vague words that
`ent contexts
`
`can have several meanings in differ
`
`Avoid colloquialisms
`
`jargon acronyms
`
`and abbreviations
`
`Use good grammar Translation is
`enough
`to deal with poor grammar
`having
`translator
`
`difficult
`
`task without
`
`416
`
`The Windows
`
`Interface
`
`Guidelines
`
`for Software
`
`Design
`
`
`
`438
`
`
`
`Special Design Considerations
`
`Chapter
`
`14
`
`Avoid dynamic
`form new strings
`
`concatenation
`of different
`or run-time
`for example composing messages by com
`used strings An exception
`is the construction of
`bining frequently
`filenames and names of paths
`
`strings
`
`to
`
`Avoid hard coding
`to be translated
`
`filenames in
`
`binary file Filenames may need
`
`in images and icons Doing so requires that
`Avoid including text
`these also be translated
`
`from English to other languages
`Translation of interface
`often
`text
`increases the length of text by 30 percent or more In some extreme
`can increase by more than 100 percent
`the character count
`cases
`example the word move becomes
`in German Ac
`verschieben
`if the amount of the space
`for displaying text
`status bar restrict
`the length of the English interface
`in
`one half of the available space In contexts that
`to approximately
`text
`allow more flexibility
`as dialog boxes and property sheets
`such
`allow 30 percent
`design Message
`in the interface
`for text expansion
`in message boxes however
`of
`should allow for text expansion
`100 percent Avoid having
`your software rely on the position
`about
`translation may require move
`control or window
`because
`in
`ment of the text
`
`for
`
`is strictly
`
`cordingly
`
`limited as
`
`text
`
`of text
`
`Expansion due to translation
`affects other aspects of your product
`localized version is likely to affect
`file sizes potentially changing
`disks and setup software
`the layout of your
`
`installation
`
`Translation is not always
`one-to-one
`correspondence
`single
`word in English can have multiple translations
`in another
`language
`and articles
`sometimes change
`to the
`Adjectives
`according
`spelling
`gender of the nouns they modify Therefore be careful when re
`in multiple places Similarly several English words
`using
`string
`may have only
`single meaning in another
`language This is par
`ticularly important when creating keywords
`for the Help index for
`your software
`
`Graphics
`
`It
`
`is best to review the proposed
`bility early in your design
`consuming process
`
`graphics for international applica
`graphics can be
`time
`
`cycle Localizing
`
`Interface
`
`Guidelines
`
`for Software Design
`
`417
`
`The Windows
`
`
`439
`
`
`
`Chapter
`
`14 Special Design Considerations
`
`Although graphics communicate more universally
`than text graphi
`especially icons and toolbar button
`cal aspects of your software
`may also need to be revised to address
`an international
`images
`magic wand
`audience For example
`toolbar
`image that
`includes
`does not have meaning in
`to represent access to
`wizard interface
`many European countries and requires
`image
`
`different
`
`When possible choose
`create custom designs
`can confuse
`
`different
`
`languages
`
`generic images and glyphs Even if you can
`language having
`images for
`for each
`different
`users who work with more than one
`
`language
`
`version
`
`Many symbols with
`strong meaning in one culture do not have any
`For example many symbols for U.S holidays
`meaning in another
`and seasons are not shared around the world Importantly
`some
`be offensive in some cultures for example the open
`symbols can
`at U.S crosswalk
`palm commonly used
`signals is offensive in some
`countries Some metaphors also may not apply in all languages
`
`Keyboards
`
`International
`
`keyboards
`
`also differ
`
`from those used
`
`in the U.S Avoid
`they are
`as shortcut keys because
`character keys
`using punctuation
`found on international keyboards
`or easily produced by
`not always
`the user Remember
`too that what seems like an effective shortcut
`association for example CTRLB for Bold
`of its mnemonic
`because
`language Similarly macros
`change
`to fit
`particular
`nvoke menus or commands based
`on access
`or other utilities that
`likely to work in an international version
`because
`the
`keys are not
`command names on which the access keys are based differ
`
`can warrant
`
`for
`
`Keys do not always
`on all
`occupy the same positions
`international
`Even when they do the interpretation of the unmodified
`keyboards
`can be different For example on U.S keyboards
`keystroke
`SHIFT8 results
`character However on French key
`in an asterisk
`Similarly avoid using CTRLALT
`the number
`boards it generates
`combinations because
`this combination
`the system interprets
`the ALTGR key which generates
`some
`some language
`versions as
`characters Similarly avoid using the ALT key as
`it is the primary keyboard interface for accessing
`because
`and controls
`the system uses many specialized
`In addition
`input For example ALT- invokes
`special
`input
`
`alphanumeric
`
`modifier
`menus
`
`versions for special
`
`418
`
`The Windows
`
`Interface
`
`Guidelines
`
`for Software Design
`
`
`
`440
`
`
`
`Special Design Cnnsideratinns
`
`Chapter
`
`14
`
`editors
`
`in Far East versions of Windows
`For text
`fields pressing
`ALTnuinber
`enters characters in the upper
`character set
`range of
`characters when assigning the
`Similarly avoid using the following
`shortcut keys
`
`following
`
`@$
`
`Character Sets
`
`Some international countries require support
`character
`for different
`referred to as code pages The system provides
`sets sometimes
`for supporting multiple character sets and sort
`standard
`tables Use these interfaces
`and case
`wherever possible for sorting
`consider
`the following
`
`interface
`
`conversion
`
`In addition
`
`guidelines
`
`the character
`
`is U.S ANSI Many ANSI
`Do not assume that
`sets are available For example