If you’re looking for a free web design software program that can help you create an accessible website, then welcome to our blog!
Table of Contents
Accessible Web Design Software Free
Web design software provides business owners, freelancers and front-end developers a code-free website development environment. Many free web design tools also provide add-ons like content management systems, SEO and web analytics capabilities for building responsive websites.
Web Design Software
What is Web Designing Software?
Web design software is a compare application that helps design responsive and adaptive websites as per the WYSIWYG principle. Most popular website designing software help people create websites on their own with a simple drag and drop functionality. You can design websites even without the knowledge of coding.
Best Open Source and Free Web Design Software for Beginners
CoffeeCup HTML Editor
Visual Studio Code (VS Code)
Here’s the list of the best free, open source web design software that will help you create responsive websites and mobile applications with no coding requirement.
Adobe Dreamweaver is one of the most popular free web design software. It ensures fast and flexible coding with code hints and visual aids to help beginners create professional websites.
However, Adobe Dreamweaver is available on a free trial, only for seven days. After that, you have to get its paid version to continue using its amazing features.
Core Features of Adobe Dreamweaver:
Site previews with real-time editing
Flexible and fast coding
CEF integration & Git support
Dynamic display for every device
Deployment Type: On-premise
Suitable for Business Size: Small & medium businesses, large enterprises
Pricing Mode: Plans start from ₹ 1675 per month for a single app. The monthly plan for all apps costs around ₹ 4230. Also available is a seven days free trial version.
Reasons to Buy:
Easy to customize starter templates for building blogs, portfolios and HTML emails.
Timely bug and security vulnerability fixes.
Compatible with the latest Windows & mac operating systems.
Supported OS: Windows 10 & above, Linux, Mac OS 10.12 Sierra & above
Here’re a few free and open-source web design software like Dreamweaver, which provides equally amazing features and support.
Brackets (Free and Open Source Web Design Software)
Best for: Visual tools for live previews
Brackets website builder provides pre-processor support and visual tools for writing codes and building websites. The open-source and free web design software is ideal for designing in the browser using live previews.
It provides visual tools along with editors to help web developers and front-end developers with error-free coding.
Brackets Core Features:
Deployment Type: Cloud-based and desktop
Suitable for Business Size: Small businesses and medium enterprises
Pricing Mode: Brackets is a free and open-source web design software.
Reasons to Buy: Brackets is ideal just not for web designers but also for front-end developers. It is simple to use and provides free extensions and syntax colouring.
Supported OS: Windows, Linux and Mac
Suggested Read: 11 Best eCommerce Website Builders for Small Businesses [Free & Paid]
WordPress (Free and Paid)
Best for: Customizable templates
best web design software
WordPress is one of the best professional web design software. The web design software offers plugins and addons for building professional quality landing pages in minutes.
Thus, you can create websites easily without the advanced knowledge of coding. In addition, it provides Pro layouts to create professionally designed websites.
Features of WordPress:
Online store builder & booking tools
Full-text searching option
Document classification and data export/import
Auto file management
Deployment Type: On-premise and cloud-based
Suitable for Business Size: All business types
Pricing Mode: Starting plan costs around ₹ 292 a month. You can also get started for free with limited features.
Reasons to Buy: Best for building fast websites and blog pages. WordPress can be easily integrated with plugins from third-party apps. Several instances are also available for live hosting and testing.
Supported OS: Windows and Mac, Android & iOS
CoffeeCup HTML Editor (Free and Paid)
Best for: Creating prototypes and mobile-friendly emails
CoffeeCup HTML editor helps businesses create an online presence with the help of professional web development tools. Implementing SEO strategies or adding web firms, all is easy with this website design software.
The best part is its HTML editor that can be used to design websites and edit the code and build mobile-friendly emails.
CoffeCup HTML Editor Core Features:
Custom web forms
Custom email solution
Visual code selector
Responsive and customizable themes
Deployment Type: On-premise
Suitable for Business Size: Medium and small-sized businesses
Pricing Model: Single package with a free trial available at the cost of ₹ 2119.
Reasons to Buy: Easy to use the HTML editor to create custom web forms and share them via custom emails.
Supported OS: Windows 7 and higher
Joomla (Free and Paid)
Best for: Powerful SEO features
free website builder software
Joomla is a website maker software and content marketing system, which offers command-line applications for building websites. The software’s graphical user interface offers customizable templates in varied layouts, colours and fonts to develop interactive websites and online applications.
Cache and user management
Publish tools and editor buttons
Custom fields with categories
Media manager with WYSIWYG editor
Content versioning with CMS management
Deployment Type: On-premise
Suitable for Business Size: Small, medium and large enterprises
Pricing Mode: Joomla 3.9.26 is available for free download with premium upgrades available.
Reasons to Buy: Joomla has a smooth learning curve with various video training materials and documentation available.
Further, you can use Joomla or its metadata management capabilities and powerful search engine optimization capabilities.
Supported OS: Windows and mac OS, Linux, iOS and Android
Try Now: Designing Solutions | Graphic Design Software | 3D Design Software
Bootstrap (Free and Open Source Web Design Software)
Best for: Grid typography and fonts
Bootstrap open source web design software offers mixins and SaaS variables and responsive grid systems for creating responsive websites. The web design software provides essential features and colours for styling webpages and making webpages behave as per their screen size.
Also available are side features like popovers, modals, tooltips, glyph icons and pagination.
Bootstrap Core Features:
Basic style definitions
Various layout components
Grid typography and fonts
Deployment Type: Web-based
Suitable for Business Size: Small and medium businesses
Pricing Mode: Monthly plan available at ₹ 1097. Bootsrap also offers a free plan for up to 10 users and 2GB storage.
Reasons to Buy: Bootstrap free website builder is compatible with multiple browsers like Opera, internet explorer, Chrome, Safari, etc., thus making website building easy and simple.
Pre-styled customizations and components are the added advantages of using Bootstrap. Web styling is easy and doesn’t take very long.
Supported OS: Web-based
Top 12 Designing Software for Beginners Without Code
Mobirise (Free and Paid)
Best for: Image sliders & popup builders
web design software free
Mobirise is a free web design software, which is best for creating landing pages and high-ranking websites for non-profit and professional use. The web design software offers thousands of beautiful templates, blocks and website blocks to help you start quickly with the web designing process.
Non-techies highly prefer Mobirise to create Google and mobile-friendly websites without any coding knowledge.
Core Features of Mobirise:
Trendy website blocks
Deployment Type: SaaS, cloud and web-based
Suitable for Business Size: Small business, mid-market professionals and freelancers
Pricing Mode: Mobirise paid plan to start at ₹10k approx
Reasons to Buy: No coding is required for building websites. The free website making software is best for beginners with not much knowledge of coding.
Supported OS: Windows, Linux, Android, iOS and Mac
openElement (Free Web Design Software)
Best for: Customizing web objects
web page design software
openElement is a website editor offering a WYSIWYG interface for building websites. The website design tool helps automatically generate a code for displaying a website and its functions correctly.
openElement Core Features:
Search engine optimisation
Deployment Type: Desktop
Suitable for Business Size: Small businesses and mid-market firms
Pricing Mode: It is a completely free web design tool.
Reasons to Buy: Easy drag and drop functionality can be used to customise, insert, and modify web objects onto pages. This process is hassle-free and easy for beginners.
Supported OS: Windows 7,8, 10/ XP/Vista
GIMP (Free and Open Source Web Design Software)
Best for: Photo enhancement & digital retouching
best website design software
GIMP or GNU image manipulation program is a free web design tool offering professional features for image manipulation purposes. This web design software can also be used for designing graphical elements by changing the source code and distributing the changes.
GIMP Core Features:
Photo enhancement and digital retouching
Support for USB and MIDI controllers
Advanced graphic design elements
Support for photo manipulation
Ensures extensibility & flexibility
Deployment Type: Desktop-based
Suitable for Business Size: Small and medium-sized businesses
Pricing Mode: GIMP is a free and open-source web design software.
Reasons to Buy: GIMP web builder helps customize your company’s logo, images and vectors for advertisement purposes. Simple interface along with various options for filtering and effects make GIMP a convenient website designing tool.
Supported OS: Windows XP SP3, Vista and 7/8; mac OS 10.6 & above
Webydo (Free Trial)
Best for: Responsive breakpoints
web designing software list
Webydo is one of the best professional web design software trusted for creating responsive websites that are pixel perfect without deploying any code. What makes Webydo unique is its content management capabilities, something that makes it possible for clients to update or edit the content anytime they want.
Webydo Core Features:
Parallax scrolling animator
Drag & drop control
Design without code
Deployment Type: Cloud-based
Suitable for Business Size: SMBs and large enterprises
Pricing Mode: Free trial available for all paid plans. The start cost of the paid plan is ₹ 5473 per month.
Reasons to Buy: Intuitive drag and drop interface besides visual tools that require no static mockups.
Supported OS: Windows, Mac and Linux, Android
Suggested Read: 12 Best Graphic Design Software for Beginners
Webflow (Free and Paid)
Best for: Integrations for creating custom and flexible custom code
Free web design software
You can create professional websites with Webflow website builder software. This no-code website design software is best for developing animations, creating immersive interactions & building dynamic content custom databases.
It uses visual canvas to create attractive websites. Webflow further helps launch websites on a hassle-free hosting network.
Webflow Core Features:
Editor for creating & updating pages
Integration with marketing tools
Inbuilt SEO tools
Optimized images with CSS filters
Supports immersive animations
Deployment Type: Open API with cloud hosting
Suitable for Business Size: Freelancers, large enterprises and SMBs.
Pricing Mode: Free trial available for starter plan that begins at ₹ 1094.
Reasons to Buy: Various online resources available that make it easy to navigate through Webflow. Plus, it is quite simple for beginners and user friendly.
Supported OS: Windows, Linux, Mac, iOS and Android
Wix (Free and Paid)
Best for: Innovative design templates and features
Open source web design software
Wix is a website maker software helping businesses make their online web presence felt through high-quality websites. The website design tool supports site customization capabilities for getting the best websites designed for them.
In addition, Wix free web design software provides the best hosting facilities along with unlimited pages.
Wix Core Features:
Deployment Type: Cloud-based
Suitable for Business Size: Small businesses
Pricing Mode: Free trial available for fourteen days. The paid plan starts at ₹ 325 per month.
Reasons to Buy: Wix is a business-friendly tool providing free, suitable domain names for building attractive websites. The software also offers supportive website hosting services through search engine optimization.
Supported OS: Windows and mac OS, iOS and Android
Figma (Free and Paid)
Best for: Creating responsive designs
Figma web design tool
Figma website design software offers robust design modules and custom workflows for building attractive websites.
The software provides plugins for icons, charts, sticky notes, stock imagery and flow diagrams. This free website builder supports various flexible styles too for website development.
It also includes an online whiteboard, FigJam, that teams can use to brainstorm new ideas.
Features of Figma Web Design Software:
Arc tool for creating pie charts and watch screens
OpenType font features
Vector networks with sophisticated pen tool
Auto layout components for responsive designs
Space settings for design development
Deployment Type: Desktop and cloud-based
Suitable for Business Size: SMBs and large enterprises
Figma Pricing Mode: Figma is a free website design software for starters, and this plan has unlimited cloud storage capacity.
Paid plans includes Professional for ₹885 and for Organization ₹ 332.
Reasons to Buy: Figma makes file sharing an easy process through its live link option. Plus, cloud support makes file access faster & secure.
Supported Platforms: Android, iOS, Mac, and Windows
Lunacy (Free and Paid)
Best for: Editing the vector graphics
Lunacy is a free website builder that offers a centralized repository for creating and sketching website designs. The web design software is ideal for creating prototypes for testing user experience and measuring distances between cardboard borders and grouped objects.
The dashboard module is another convenient option for editing digital asses for layers, symbols, vector images and text styles.
Features of Lunacy Free Web Design Software:
Symbols, overrides and library content
Innovative shapes with cloud sharing option
Reporting analytics with data import & export
Data transformation and synchronization
Deployment Type: Cloud-based (for sharing files) and desktop-based options
Suitable for Business Size: Large companies and small & medium businesses.
Pricing Mode: Lunacy is free when design software for Windows. Price of paid plans would vary depending on your requirements for plugins for illustrations, photos and icons.
Reasons to Buy: The website design software has quite a simple user interface for beginners. The updates are regular as per the latest sketching and website editing requirements.
Supported Platforms: Windows
InVision Studio (Free and Paid)
Best for: Vector-based prototyping
Invision Studio Online
InVision Studio is an all-in-one tool, supporting multiple website building processes such as prototype, animate and design. The website builder is quite popular in preparing pixel-perfect layouts, doing flexible layer styles and completing vector editing.
You can also use InVision Studio website design software for advanced pinning and percentage-based geometry.
Features of InVision Studio:
Collaborative connections for syncing workflows
Shared design library for teamwork
Interactive designs through rapid prototyping
Adaptive layouts for responsive designs
Deployment Type: Desktop-based
Suitable for Business Size: Small business owners and medium enterprises.
InVision Studio Pricing Mode: InVision Studio is a popular free web design software for small teams and individuals with limited features. Monthly plans start from ₹ 586 per month.
Reasons to Buy: InVision Studio is a reliable platform for collaborating with teams over multiple tasks and assets. Additionally, you can manage the access rights for project viewing and access. Another wonderful feature is its designing mechanism for finishing archival artifacts.
Supported Platforms: Windows and Mac
Vectr (Free Web Design Software)
Best for: Online vector graphic editing
Vectr free web design software is a powerful tool for doing graphic designing on websites. The best free web design software lets you undertake collaboration in real-time besides creating crisp vector graphics.
Vectr is an ideal website builder for preparing blur-free website mock-ups, and it also provides powerful desktop and web-related cross-platform tools.
Features of Vectr Web Designing Software:
Image editing and powerful collaboration tools
Pen and shape tools
Fills, strokes and pathfinders
Gradients for alignments
Deployment Type: Desktop and web-based
Suitable for Business Size: Small, medium and large businesses
Pricing Mode: Vectr is an entirely free website design software
Reasons to Buy: Vectr software is available for free, suitable for all user types. It allows you to share Vectr documents easily and facilitates real-time collaboration.
Supported Platforms: Mac, Linux, Chrome, Windows and web-based
Best for: Sketching and wireframing
Marvel is a web design software platform, providing a centralized workspace for creating app prototypes. This web design software has a unique design mode for mock-ups and interface assets based on sketches or photoshop.
You can also use the software for link sharing and real-time team collaboration.
Features of Marvel:
User testing support
URL based sharing of web designs
Transitions & gestures
Sketching and interactive designing
Deployment Type: Cloud-based web design software
Suitable for Business Size: SMBs and large companies
Pricing Mode: Marvel is a free website design software with limited features. Monthly paid plans include:
Reasons to Buy: Integration with Slack and regular software updates. There is no coding required here and making interactive drawings is so easy. Create presentations, edit them as per your client’s preferences and see your business reach new levels of success.
Supported Platforms: It’s a free prototype software for desktop, Android & iOS devices.
Visual Studio Code (Free & Open Source Web Design Software)
Best for: Git integration & extensions
Visual Studio Code Software
Visual Code Studio is a powerful web design app supporting VS code tools for website debugging and customising workspaces. This software supports various options for web design colours, fonts, icons and layouts. You can also depend on VS Code software for installing extensions.
Features of Visual Studio Code:
Interactive console for debugging codes
Inbuilt Git commands
Editor for reviewing stage files
IntelliSense for smart completion
Code debugging directly from the editor
Built-in Git commands
Customized & extensible features
Deployment Type: Web-based and desktop
Suitable for Business Size: Large businesses and SMBs
Pricing Model: VS Code is a free and open-source web design software.
Reasons to Buy: The software is ideal for all types of coding projects. You get access to multiple plugins for customizing the website’s environment. Prototyping for individual components is easy, and the integration with Git is convenient.
Supported Platforms: Windows 7, 8, 10, Mac OS, Ubuntu.
Free web design tools are quite in demand given their beginner-friendly interface and high-level functionality. Create your responsive website using any of the above enlisted best professional web design software.
Which is best software for web designing?
Wix, Weebly, Webflow, Bootstrap, WordPress, Adobe XD and Adobe Dreamweaver are some of the best software for web designing.
Which software could be used to build a website?
WordPress, Squarespace, Figma, Adobe XD and InVision Studio software can be used to build a website.
What is the best free web design software?
Some of the completely free and open source web design software solutions are Bootstrap and Brackets.
accessible software design
This design guide was created for Windows 7 and has not been updated for newer versions of Windows. Much of the guidance still applies in principle, but the presentation and examples do not reflect our current design guidance.
Designing software for accessibility means ensuring that programs and functionality are easily available to the widest range of users, including those who have disabilities and impairments.
The number of users that accessibility features can help may surprise you; for example, in the United States, surveys have shown that more than half of all computer users experience difficulties or impairments related to accessibility, and are likely to benefit from the use of accessible technology. Moreover, approaching software design with the flexibility and inclusiveness that are the hallmarks of accessibility often results in overall improved usability and customer satisfaction.
screen shot of ‘ease of access center’ dialog box
The Ease of Access Center, available from Control Panel, provides a central location where users can choose and customize the accessibility features they want.
Note: Guidelines related to keyboard, mouse, color, and sound are presented in separate articles.
Many physical, perceptual, and cognitive factors come into play when users interact with computer hardware and software. Before considering ways to make your program’s features more accessible, it helps to learn about what kinds of disabilities and impairments exist, and some of the assistive technologies these users may be working with as they interact with computers.
Types of impairments
The following table describes common user disabilities and impairments, and lists a few of the most important solutions used to make computers more accessible.
Impairment Description Solutions
Ranges from mild (affecting 17 percent of users) to severe (affecting 9 percent of users).
Customizable magnification, colors, and contrast; Braille utilities; screen readers.
Ranges from mild (affecting 18 percent of users) to severe (affecting 2 percent of users).
Information redundancy: sound used only as supplement to text or visual communication.
Ranges from mild (affecting 19 percent of users) to severe (affecting 5 percent of users). This impairment often involves difficulty performing certain motor skills with keyboard or mouse.
Input method redundancy: program features accessed by mouse or keyboard equivalents.
Includes memory impairments and perceptual differences. Affects 16 percent of users.
Highly-customizable user interface (UI); use of progressive disclosure to hide complexity; use of icons and other visual aids.
Includes visual sensitivity to movement and flashing.
Conservative approach to modulating interfaces, such as the use of animations; avoiding screen flicker in the range between 2 Hertz (Hz) and 55 Hz.
Speech or language
Includes dyslexia and oral communication difficulties.
Spell-check and grammar-check utilities; speech recognition and text-to-speech technology.
For more guidelines about helping users with these impairments, see Addressing particular impairments later in this article.
Types of assistive technologies and accessibility features
A screen reader enables users with visual disabilities or impairments to navigate a UI by transforming visuals to audio. Thus, UI text, controls, menus, toolbars, graphics, and other screen elements are spoken by the computerized voice of the screen reader. To create a program optimized for screen reader assistive technology, you must plan for how the screen reader will identify each UI element.
Each UI element that the user can interact with must be keyboard accessible, as well as be exposed through an accessibility application programming interface (API). We recommend using UI Automation, the new accessibility framework for all versions of Microsoft Windows that support Windows Presentation Foundation (WPF). UI Automation provides programmatic access to most elements on the desktop, enabling assistive technology products such as screen readers to provide information about the UI to users and to manipulate the UI by means other than standard input (for example, by speaking rather than or in addition to manipulating the mouse or keyboard). For more information, see the UI Automation Overview.
Be aware that although screen readers are a very important assistive technology, there are others as well. For more information about the range of technologies available, see Types of Assistive Technology Products.
Speech recognition is an accessibility feature in Windows that allows users to interact with their computers by voice, reducing the need for motor interaction with the mouse or keyboard. Users can dictate documents and e-mail, use voice commands to start and switch between programs, control the operating system, and even fill out forms on the Web.
Magnification helps users with low vision by enlarging items on screen anywhere from 2 to 16 times the original. Users can set this feature to track the mouse (to see an enlarged version of what the mouse is pointing to), the keyboard (to see the area where the pointer moves when tabbing), or text editing (to see what they are typing).
Visual settings and color schemes
In addition to making things on the screen larger, users with visual impairment may benefit from system settings such as high-contrast mode or the ability to customize background and foreground color schemes.
Narrator is a scaled-down screen reader in Windows that allows users to hear on-screen text and UI elements read aloud, even including some events (including error messages) that happen spontaneously. The user can hear the Narrator menus without leaving the active window.
screen shot of ‘microsoft narrator’ dialog box
Users can customize the extent to which Microsoft Narrator is used.
For users who have difficulty with physical keyboards, and need to use an alternative input device such as a switch, on-screen keyboards are a necessity. Users can select keys using the mouse or another pointing device, a small group of keys, or just one key, depending on how you set up On-Screen Keyboard.
With Mouse Keys enabled, users who prefer the keyboard can use the arrow keys on the numeric keypad to move the mouse pointer.
For a complete list of accessibility features, see Accessibility in Windows Vista on the Microsoft Web site.
The Tab key, arrow keys, space bar, and Enter key are important for keyboard-based navigation. Pressing Tab cycles input focus through the different control groups, and pressing the arrow keys moves within a control or among controls within a group. Pressing space bar is the same as clicking the control with input focus, whereas pressing Enter is the same as clicking the default command button or command link, regardless of input focus.
screen shot of ’empty recycle bin’ dialog box
In this example, users can press Tab until the desired option has input focus, then press Enter to open the object.
Access keys allow users to choose options and initiate commands directly without having to navigate to the control first. Access keys are indicated by underlining one of the characters in each control’s label. Users then activate the option or command by pressing the Alt key along with the underlined character. Access keys aren’t case sensitive.
screen shot of file menu and access keys
In this example, pressing Alt+O activates the Open command.
Choosing logical access keys for controls usually poses no difficulty; the more controls there are on a window, however, the greater the possibility you will run out of access key choices. In this case, assign access keys to control groups rather than each individual one.
screen shot of control groups and access keys
In this example, access keys are assigned to control groups, rather than individual controls.
Access keys are often confused with shortcut keys, but shortcut keys are assigned differently from access keys and have different goals. For example, shortcut keys use Ctrl and Function key sequences and are intended primarily as a shortcut for advanced users instead of for accessibility.
For more information, see Keyboard.
Designing for accessibility: three fundamental practices
Accessible programs help all users in some way because the objectives of accessibility and usability overlap. For example, features designed to make advanced users as efficient as possible also benefit users who prefer using the keyboard because of dexterity impairment.
Three fundamental practices will help you with accessible design: allow for a degree of flexibility in your UI, let respect for user needs and preferences play a major role in design decisions, and provide programmatic access to your UI.
Providing flexible UI
Accessible design is, at least in part, about giving users choices. Not a frustrating, dizzying array of choices, but a limited number of choices that smartly anticipates user needs. “Don’t like navigating by way of the mouse? Here, you can do the very same things using only the keyboard. Don’t like physical keyboards? Here’s a virtual one you can use on-screen.”
For example, provide flexibility by:
Providing user-selectable equivalents for non-text elements (for example, alt text for graphics and captions for audio).
screen shot of sign-in button
screen shot of alt text for sign-in button
Users who have chosen not to render graphics should see alt text instead, describing what the control does and how to interact with it.
Providing alternatives to color (for example, icon differentiation or the use of sounds).
screen shot of icons in shades of gray (grayscale)
In this example, the standard icons are readily distinguishable based on their designs.
Ensuring keyboard access (for example, a tab stop for every interactive control) so that users can accomplish the same things in your program with either the mouse or the keyboard.
Ensuring that your program offers good color contrast options for users. Windows provides a high contrast option, but that’s really designed to be a solution for severe visual impairment. Other contrast options best serve users with mild impairment, such as low vision and color blindness.
Ensuring that users have a way to adjust the size of text in your program’s UI (for example, through a slider control or drop-down box for font size). If possible, support high dots per inch (dpi) mode.
Ensuring that your program is multimodal, meaning that if the primary mode of the program is inaccessible for some, these users have a way to work around the problem. For example, when animation is displayed, the information should be displayable in at least one non-animated presentation mode at the option of the user.
Multimodal interfaces and flexible navigation essentially offer the user the architecture of information redundancy. Redundancy sometimes has negative connotations; in user interface text, for example, we advise removing redundancy to streamline the reading experience. But in the context of accessibility, redundancy connotes positive, fail-safe mechanisms and experiences.
Respecting your users
Respect as a general, guiding principle is vital for designing accessible programs. Even as an intellectual exercise, imagine what it must be like to encounter your program as a user who is disabled. Take the time to test UI screens in high contrast mode and at various resolutions, to ensure the experience is a good one for users with visual impairments. Test keyboard accessibility by selecting the Underline keyboard shortcuts and access keys check box in the Ease of Access Center Control Panel item (so that access keys are always visible). You can even go beyond rigorous testing by hiring developers and designers who have a natural aptitude for empathizing with others to begin with.
You should also demonstrate respect by:
Using system-wide settings (for example, System Color) rather than hardwiring settings for your particular program. Respect not only the parameters that users have specifically selected for interacting with their programs, but also accessibility features built into the operating system that the user wants in effect no matter which program they are using. For more information, see About Windows Accessibility Features.
Preferring common controls to custom controls, because common controls have already implemented the Windows accessibility APIs.
Documenting all accessibility options and features (for example, all keyboard shortcuts). Users with impairments are highly motivated to discover accessibility features, and often expect comprehensive information to be collected in Help.
Creating accessible documentation in accessible formats. Thus, the documentation itself should adhere to the same rules of accessibility as the primary UI, including the ability to enlarge font size, the use of alt text for graphics, and redundant information architecture (for example, using color-coding only as a supplement to text).
In software products, respect for users may manifest itself in usability and market research, in efficacious support services and documentation, and of course in design decisions. For example, thinking again in terms of design for advanced users: are you putting that cutting-edge new feature in because you want it, or because you know that your advanced users have been asking for it? The latter case indicates that your design decision-making process is well-informed by the value of respect.
Providing programmatic access
Providing programmatic access to the UI is essential so that assistive technologies (such as screen readers, alternative input devices, and speech recognition programs) interpret the screen correctly for their users. By creating a “map” of each UI screen in your program, you make it available to users of assistive technologies.
Do this well by:
Enabling programmatic access to all UI elements and text (for example, using the Active Accessibility COM interface, IAccessible).
Placing names (or titles) and descriptions on UI objects, frames, and pages (for example, using the IAccessible Name property).
Ensuring programmatic events are triggered by all UI activities (for example, focus events for all UI activities involving focus movement).
If you do only four things…
Ensure every user can leverage the full potential of your program.
Think of accessibility as an opportunity for creative problem-solving and another means of increasing overall user satisfaction.
Respect system settings.
Use common controls whenever possible.
Don’t disrupt or disable activated features of the operating system or other products that are identified as accessibility features. You can identify these features by referring to the documentation of the operating system or product in question.
Don’t force users to interact with your program as the top window on the screen. If a function or a window is required continuously for users to perform a task, that window should always remain visible, if the user so chooses, regardless of its position relative to other windows. For example, if the user has a movable on-screen keyboard that is on top of all other windows so that it is visible at all times, your program should never obscure it by mandatory placement at the top of the Z order.
Use system colors, fonts, and common controls whenever possible. By doing so, you significantly reduce the number of accessibility issues users encounter.
Addressing particular impairments
Never rely on color alone to convey meaning. Use color only as a means of reinforcing the meaning provided by text, design, location, or sound.
screen shot of red communicator icon and tooltip
The primary method of communication in this example is the concise tooltip text. The use of color assists in communicating the meaning, but is secondary.
Use alternative (alt) text infotips to describe graphics.
Don’t use text in graphics. Users with visual impairments may have graphics turned off (for example, in a Web browser), or may simply not see or look for text placed in graphics.
Ensure that dialog boxes and windows have meaningful names, so that a user who is hearing rather than seeing the screen (for example, using a screen reader) gets appropriate contextual information.
Respect the user’s settings for visual display by always obtaining font typefaces, sizes, and colors, Windows display element sizes, and system configuration settings from the Theme and GetSystemMetrics APIs.
Keep balloon text concise so that it is easier to read and minimizes disruption to screen readers.
screen shot of balloon indicating pin code limits
Although balloons may use additional body text if necessary, this example shows that sometimes title text alone achieves the same goal in a more economical and accessible way.
Never rely on sound alone to convey meaning. Use sound only as a means of reinforcing the meaning provided by text, design, location, or color.
Enable users to control the volume of audio output. Use the Windows Volume Mixer for this purpose. For more information, see Sound.
Target your program’s sound to occur in a range between 500 Hz and 3000 Hz or be easily adjustable by the user into that range. Sounds in this range are most likely to be detectable by people with hearing impairment.
Make UI timeout values relative to GetDoubleClickTime() instead of using absolute times. Doing so adjusts the timeouts to the speed of the user.
Assign access keys to all menu items so that users who prefer working with the keyboard have the same ability to navigate your program as users who work with the mouse.
Don’t make double-clicking and dragging the only way to perform an action. These can be difficult movements for some users.
Don’t remove menu bars from your program. Menu bars are easier than toolbars for keyboard users to access. If you don’t want the menu bar visible by default, hide it instead.
Make Help accessible from the keyboard by providing tab stops for Help buttons and links.
To improve awareness of the access key assignments in your program, you can display them at all times. In Control Panel, go to the Ease of Access Center, and click Make the keyboard easier to use; then select the Underline keyboard shortcuts and access keys check box.
Use progressive disclosure to hide complexity.
screen shot of split buttons with down triangles
In these examples, options available from the command button are hidden by default, and users can choose to view the options by taking advantage of progressive disclosure controls.
Use icons, toolbars, and other visual aids to reduce cognitive load of reading text.
When possible, provide auto-complete functionality in text boxes and editable drop-down lists, so that users don’t have to type the entire name of commands, file names, or similar choices from a limited set of options. This reduces cognitive load for all users, and reduces the amount of typing for users for whom spelling or typing is difficult, slow, or painful.
Demonstrate difficult concepts in Help by including tutorials and animations. Note that animations can be difficult for users with seizure impairment, and therefore should be used only when necessary.
Don’t use flashing or blinking text, objects, or other elements having a flash or blink frequency in the range between 2-55 Hz.
Limit use of animations. Some users are particularly sensitive to screen movement, especially in the periphery of their visual field. If you use animation to draw attention to something, make sure that attention is deserved and worthy of interrupting the user.
Speech or language
Organize and write clear, concise, easily understood text. Usability tests show that unfolding key information at the end of a phrase improves comprehension. For more guidelines, see Style and Tone.
Is three the next digit?
Click OK to begin.
Is the next digit three?
To begin, click OK.
Prefer characters with wide widths, such as w, m, and capital letters.
Prefer a distinctive consonant or a vowel, such as “x” in “Exit.”
Avoid using characters that make the underline difficult to see, such as (from most problematic to least problematic):
Characters that are only one pixel wide, such as i and l.
Characters with descenders, such as g, j, p, q, and y.
Characters next to a letter with a descender.
Menu access keys
Assign access keys to all menu items. No exceptions.
For dynamic menu items (such as recently used files), assign access keys numerically.
screen shot of open menu with recently used files
In this example, the Paint program in Windows assigns numeric access keys to recently used files.
Assign unique access keys within a menu level. You can reuse access keys across different menu levels.
Make access keys easy to find:
For the most frequently used menu items, choose characters at the beginning of the first or second word of the label, preferably the first character.
For less frequently used menu items, choose letters that are a distinctive consonant or a vowel in the label.
Dialog box access keys
Whenever possible, assign unique access keys to all interactive controls or their labels.Read-only text boxes are interactive controls (because users can scroll them and copy text), so they benefit from access keys. Don’t assign access keys to:
OK, Cancel, and Close buttons. Enter and Esc are used for their access keys. However, always assign an access key to a control that means OK or Cancel, but has a different label.
screen shot of controls with assigned access keys
In this example, the positive commit button has an access key assigned.
Group labels. Normally, the individual controls within a group are assigned access keys, so the group label doesn’t need one. However, assign an access key to the group label and not the individual controls if there is a shortage of access keys.
Generic Help buttons, which are accessed with F1.
Link labels. There are often too many links to assign unique access keys, and link underscores hide the access key underscores. Have users access links with the Tab key instead.
Tab names. Tabs are cycled using Ctrl+Tab and Ctrl+Shift+Tab.
Browse buttons labeled “…”. These can’t be assigned access keys uniquely.
Unlabeled controls, such as spin controls, graphic command buttons, and unlabeled progressive disclosure controls.
Non-label static text or labels for controls that aren’t interactive, such as progress bars.
Assign commit button access keys first to ensure that they have the standard key assignments. If there isn’t a standard key assignment, use the first letter of the first word. For example, the access key for Yes and No commit buttons should always be “Y” and “N”, regardless of the other controls in the dialog box.
For negative commit buttons (other than Cancel) phrased as a “Don’t”, assign the access key to the “n” in “Don’t”. If not phrased as a “Don’t”, use the standard access key assignment or assign the first letter of the first word. By doing so, all Don’ts and No’s have a consistent access key.
To make access keys easy to find, assign the access keys to a character that appears early in the label, ideally the first character, even if there is a keyword that appears later in the label.
For more guidelines and examples, see Keyboard.
Use colons at the end of external control labels. Some assistive technologies look for colons to identify control labels.
Position labels consistently relative to the elements that they are labeling. This helps assistive technology correctly associate the labels with their corresponding controls, and helps users of screen enlargers know where to look for a label or control.
screen shot of consistently placed labels
In this example, the labels for each of the drop-down lists are placed consistently and use colons.
Limit alt text to 150 characters maximum. Describe the action to activate the control (for example, click, right-click, and so on) and then describe the control’s function.
Let us know your thoughts in the comment section below.