Today
- Accessibility
- Final project
Recap from last class
- Accessibility
- Principles
- Guidelines
- Tools
Accessibility
Commonly abbreviated as a11y
Accessibility principles
Perceivable,
Operable, Understandable, and Robust (POUR)
![]()
Perceivable
- All essential information must be perceivable to
all users
- For different types of disabilities (e.g., visual, mobility, …)
- Examples
- Text alternatives to essential icons and images
- Captions
- Not relying on only color to convey meaning
Operable
- Users must be able to operate the interface
- Can’t require interaction that a user is unable to perform
Operable by all users
- Examples
- Keyboard and touchscreen support to all active elements
- Giving users enough time to fill out a form
Understandable
- Information and the interface operation must be understandable
- Examples
- Has predictable navigation
- Error messages are clear and easy to resolve
Robust
- Accessible to users using both older and future technologies
- Examples
- Works for different screen reader technologies
- Content and functions work for different device sizes
Accessibility
- Principles
- Guidelines
- Tools
Semantic html leads
to better accessibility
<div>Play video</div>
👎🏾 Don’t
<button>Play video</button>
👍🏾 Do
Use the correct HTML elements
Structure page sections
logically
<header>
<nav>
<main>
<article>
<aside>
<footer>
- …
Structure page sections
logically
<header>
<h1>Header</h1>
</header>
<nav>
<!-- main navigation in here -->
</nav>
<!-- Here is our page's main content -->
<main>
<!-- It contains an article -->
<article>
<h2>Article heading</h2>
</article>
<aside>
<!-- aside content in here -->
</aside>
</main>
<footer>
<!-- footer content in here -->
</footer>
Use semantic UI
controls whenever possible
- Use buttons, links, and form controls
- Provides default keyboard accessibility
Use semantic UI
controls whenever possible
<!-- Using <div> for buttons -->
<div data-message="First button">Click me!</div>
<div data-message="Second button">Click me too!</div>
👎🏾 Don’t. Use buttons instead
Use meaningful text labels
- Button and link text labels should be understandable and
distinctive
- Try to avoid using “Click here”
- Context might be lost for screen reader users
Make sure your
labels make sense out of context
Try to avoid using “Click
here”
Whales are really awesome creatures.
To find out more about whales,
<a href="whales.html">click here</a>.
👎🏾 Don’t
Whales are really awesome creatures.
<a href="whales.html">Find out more about whales</a>.
👍🏾 Do
Use Form
label to provide context
Fill in your name: <input type="text" id="name" name="name" />
👎🏾 Don’t
<label for="name">Fill in your name:</label>
<input type="text" id="name" name="name" />
👍🏾 Do
Text alternatives
- Images can’t be seen by people with visual impairment
- We should provide
alt description for the screen
reader
Provide
alt description for non-decorative images
<img src="old-main.png" />
👎🏾 Don’t
<img
src="old-main.png"
alt="The Penn State Old Main building"/>
👍🏾 Do
Provide
alt description for non-decorative images
- Describe the image and what it conveys visually
- Should be brief and concise
- Do not duplicate the surrounding text
Empty alt is
ok for decorative images
<img src="article-icon.png" alt="" />
When the image is only for visual decoration
Color
Click the green button for next item
👎🏾 Don’t
Color contrast
- The foreground and background color contrast is important
- Make sure that people with color blindness can read the content
Accessibility
- Principles
- Guidelines
- Tools
Todo
- Open Activity
23 in Chrome
- Run an accessibility audit
- Fix the issues
Today
- Accessibility
- Final project
Final project
- Proposal submission: 5 points
- Proposal presentation: 8 points
- Final presentation: 10 point
- Code and documentation: 20 point
- Mandatory group review: 2 points
Next todos — 10/30
- Proposal submission
- Proposal presentation
Proposal submission
Outline of plan and
timeline — around 2 pages
Check syllabus for details
Presentation Rubric
(Files –> Final Project)
![]()
Proposal presentation
- No in-person presentation
- You will upload links for video and slides
- We will talk about presentation next Tuesday
Today
- Selecting project topic
- Sketching out UI and interaction
Grading rubric
for final submission (see syllabus)
- The app must be installable using Chrome — 1.5
points
- The app (and the browser version) should work for different devices
— 4.5 points
- At least 3 non-trivial pages with user interaction support —
3 points
Grading
rubric for final submission (see syllabus) — contd.
- Stores and retrieves persistent data — 3
points
- Includes icon and consistent theme — 3 points
- Ensures accessibility — 3 points
- Documentation for the code and the system — 2
points
Bonus Features (maximum 5
points)
5 non-trivial pages or more — 1 point
Use of camera — 1.5 points
Use of microphone — 1.5 points
Use of location — 2 points
Integrates user facing
generative AI features — 3 points
Examples from previous
classes
- Fitness app
- Music sharing
- Cooking/Recipe
- IST Career Solution
- Athlete profile
- Public Transit/CATA
- TV recommendation
- Fashion
- Sustainability
- Budgeting
Group activity
Select project topic — Create
a doc
- Describe the app
- What problem are you trying to address?
- Who are the potential users?
- What are the features?
Group activity
Sketch out at
least three screens of the app