Usability and accessibility

From Computer Science Wiki

Students must be able to explain the Usability framework components: Learnability, Efficiency, Memorability, Errors and Satisfaction; apply the framework to an existing system; and design corresponding usability improvements for the system.[edit]

The Usability framework is a set of criteria that can be used to evaluate the usability of a computer system or application. The Usability framework consists of the following components:

  1. Learnability: The degree to which a system or application is easy for users to learn and understand.
  2. Efficiency: The degree to which a system or application allows users to perform tasks quickly and effectively.
  3. Memorability: The degree to which a system or application is easy for users to remember how to use after periods of non-use.
  4. Errors: The frequency and severity of errors that users make when using a system or application, and the ease with which they can recover from those errors.
  5. Satisfaction: The degree to which users find a system or application enjoyable and satisfying to use.

To apply the Usability framework to an existing system, students might consider the following steps:

  1. Identify the target audience for the system or application. This may involve considering the age, experience, and technical expertise of the users who will be interacting with the system or application.
  2. Evaluate the system or application against each of the components of the Usability framework. This may involve conducting usability tests or surveys with users to gather data about the system or application's performance in terms of learnability, efficiency, memorability, errors, and satisfaction.
  3. Analyze the results of the evaluation to identify areas for improvement. This may involve looking for patterns or trends in the data, as well as identifying specific problems or challenges that users are experiencing when using the system or application.
  4. Design corresponding usability improvements for the system or application. This may involve developing new or revised user interfaces, redesigning existing features or functions, or adding new features or functions to the system or application.

Overall, the ability to explain the Usability framework components and to apply the framework to an existing system, as well as to design corresponding usability improvements, is an important skill for computer science students, as it enables them to understand the factors that contribute to the usability of a system or application and to identify and address usability issues in order to improve the user experience.


Students must be able to discuss the difficulties users may face when accessing and using a system and suggest how this awareness can be used to design more accessible systems.[edit]

There are several difficulties that users may face when accessing and using a system, including:

  1. Physical limitations: Some users may have physical limitations that make it difficult for them to use a system, such as limited mobility or dexterity, vision or hearing impairments, or cognitive or learning disabilities.
  2. Technical limitations: Some users may have limited technical expertise or may be unfamiliar with the technology or software used in a system, which can make it difficult for them to use the system effectively.
  3. Contextual limitations: Some users may have limited access to the necessary resources or equipment to use a system, or may be operating in a context that makes it difficult to use the system (such as a noisy or distracting environment).

By considering these difficulties that users may face when accessing and using a system, designers can design more accessible systems that are better able to accommodate the needs and abilities of a wide range of users. Some strategies for designing more accessible systems may include:

  1. Providing multiple ways to access and interact with the system: This may involve providing different input and output options (such as keyboard, mouse, touch screen, or voice recognition), as well as options for adjusting the appearance and behavior of the system to meet the needs of different users.
  2. Designing for flexibility and adaptability: This may involve designing systems that are able to adapt to the needs and abilities of different users over time, or that allow users to customize the system to meet their needs.
  3. Providing clear and concise instructions and documentation: This may involve providing clear and concise instructions and documentation to help users understand how to use the system and troubleshoot any problems they may encounter.

Overall, the ability to discuss the difficulties users may face when accessing and using a system and to suggest how this awareness can be used to design more accessible systems is an important skill for computer science students, as it enables them to understand the importance of designing systems that are usable and accessible to a wide range of users.