Front-End Developer
Responsibilities Mapping
Front-End Developer
Front end development typically builds the parts of a product that will be interacted with by the user - specifically, the user interface. For the purpose of this resource, front end development refers to the implementation or codification of the design in functional templates for a product using technologies such as HTML, CSS and JavaScript.
Key Deliverables
- HTML and CSS files
- Client-side scripting
- JavaScript libraries and frameworks
- Etc.
Tasks include
- Pattern libraries and prototypes
- Template functionalities
- Semantically-rich HTML document structures and widgets
- Use and adapt frameworks and content management systems
- Etc.
Example job titles for this role
Front End Developer, Web Developer, Full-Stack Developer, UI/UX Developer, JavaScript Developer, UI/UX Engineer
Front-End Development Checkpoints – Starter List
Here is a list of checkpoints for front-end developers and engineers to get started. If these checkpoints aren't met, your code can cause significant barriers to users.
This list is taken from the full list of Front-end Development checkpoints.
For all role checkpoints, see the [Checkpoint Full List].
ID | WCAG SC | Conformance Level | Content Type | Checkpoint | Main Role | Role Ownership | ||
---|---|---|---|---|---|---|---|---|
Primary | Secondary | Contributor(s) | ||||||
SEM-002 | 1.3.1 | A | Semantic Structure | HTML elements are used according to the HTML specification. | Development | Front-End Development | UX Design | none |
SEM-008 | 1.3.1 | A | Semantic Structure | HTML elements are used based on the semantics they provide, not based on what they look like. | Development | Front-End Development | UX Design | none |
SEM-011 | 1.3.1 | A | Semantic Structure | Elements that act as headings are marked up as such. | Development | Front-End Development | UX Design | none |
SEM-017 | 1.3.2 | A | Document Structure | The source code (or DOM) order matches the suggested visual order of the design. | Development | Front-End Development | UX Design | none |
INP-004 | 2.1.1 | A | Input Methods | All actionable elements can be reached, using only the keyboard. | Development | Front-End Development | UX Design | none |
INP-005 | 2.1.1 | A | Input Methods | All active elements can be triggered, using only the keyboard. | Development | Front-End Development | UX Design | none |
INP-012 | 2.1.2 | A | Input Methods | Users can navigate away from all active elements, using only the keyboard. | Development | Front-End Development | none | none |
INP-015 | 2.4.3 | A | Input Methods | Users can tab through active elements in an order that reflects the intended interaction order of the design. | Development | Front-End Development | UX Design, Visual Design | none |
INP-018 | 2.4.7 | AA | Input Methods | Every element that receives keyboard focus displays a visible focus indicator. | Development | Front-End Development | Visual Design | none |
FRM-001 | 1.3.1 | A | Form Interactions | Text labels are marked up using the label element or other equivalent means. | Development | Front-End Development | UX Design | none |
FRM-007 | 1.3.1 | A | Form Interactions | Instructions and messages are programmatically conveyed to assistive technologies. | Development | Front-End Development | UX Design | none |
FRM-009 | 1.3.1 | A | Form Interactions | Required fields are programmatically conveyed as such to assistive technologies. | Development | Front-End Development | UX Design | none |
NAV-012 | 2.4.1 | A | Navigation | Skip links and similar mechanisms point to the expected destination. | Development | Front-End Development | UX Design | none |
DYN-003 | 4.1.3 | AA | Dynamic Content | Status, toast, or similar messages are programmatically determined through WAI-ARIA roles or properties, so they can be presented to assistive technology users without receiving focus. | Development | Front-End Development | UX Design | none |
CSS-014 | 1.4.4 | AA | CSS | CSS techniques are used to ensure that content doesn't overflow, overlap or get truncated as a result of increasing the text size. | Development | Front-End Development | Visual Design | UX Design |
Case Study: How to use the Starter List
A good way to get familiar with the checkpoints is to do a short case study. Think about how you might tackle the checkpoint in your role.
Then, think of how meeting this checkpoint impacts an end user.
Checkpoint:
INP-004: All actionable elements can be reached, using only the keyboard.
Primary Role: Front-end Developer
As a front-end developer, I will code all functionality of the content, on a web page and/or within individual components and elements, to ensure it is operable through a keyboard interface only. This also allows switch control systems to operate.
Secondary Role: UX Designer
As the UX designer in support of the Front-end Developer, I will ensure to annotate my designs, wireframes and prototypes to clearly define the functionality of components on the page and the expected reading order to allow a keyboard user access to the page content.
End User persona 1: Kaseem, teenager who is deaf and blind
Kaseem is a teenager who is deaf and recently became legally blind too, which means she can see only small portions of a screen and read text when it is significantly enlarged. She uses screen magnification software to enlarge the text on websites to a suitable font size, displays text on a refreshable Braille device and a large computer screen with high resolution and high luminosity (brightness).
The viewport, or area that Kaseem sees when the screen is magnified, is very small. So the focus must be in or very close to that 'viewport' at all times. Shifting it unexpectedly to a completely different areas of the screen makes it very difficult to find and then move to that area, especially if she has no idea where the focus has landed. The focus could move to another area on the page, or to a completely new page.
End user persona 2: Alex, reporter with repetitive stress injury
Alex has worked as a reporter for more than 20 years and has developed a repetitive strain injury that makes it painful to use a mouse and to type for extended periods of time. Alex encounters problems when websites and other online content cannot be navigated by keyboard commands alone.
If when navigating the web page, if the keyboard focus shifts unexpectedly, can Alex get back to the task he was doing?
End user persona 3: Ilya, senior staff member who is blind
Ilya is blind. She is the chief accountant at an insurance company that uses web-based documents and forms over a corporate intranet and like many other blind computer users, she does not read Braille.
Ilya relies on the screen reader assistive technology to let her know where she is on the web page. Moving the focus unexpectedly breaks the context of the page and her mental map or perception of the page.
Resources
- Use the WAI Tips for Developing to get started.
- See the WAI Tutorials for menus, tables, forms and more.
- Review the WAI-ARIA Authoring Practices Guide (APG) for keyboard functionality for ARIA components.
Exercise: Role-based Decision Tree Example
Who is the primary owner of checkpoint INP-004?
Let's get started on INP-004: All actionable elements can be reached, using only the keyboard.
Using the Role-based Decision Tree, let's see how we might assign ownership.
No. As it's a functional issue, a Business Analyst wouldn't be involved.
Step B: Is this checkpoint about content authoring?
No. A Content Author provides the textual content and accessible content for the elements but is not directly involved in decisions about their functionality.
Step C: Is this checkpoint about UX Design?
No. The UX Designer is the one to select the element type and have intentions about the behaviour and functionality of the element - for example, that it is accessible and operable by keyboard. However, this checkpoint is about the implementation of the keyboard function.
Step D: Is this checkpoint about visual design?
No. A Visual Designer designs the look and feel (presentation) of the elements, but this checkpoint is related to their compatibility with assistive technology (i.e. keyboard and/or switch control functionality) and not with presentation.
Step E: Is this checkpoint about implementation?
Yes. As their skillset is implementation and code, it is the responsibility of the Front-end Developer to build this into all actionable elements.
Step F: Is this checkpoint about testing?
No.
The exercise ends at Question 5 because it's been determined that the primary owner of the checkpoint is the Front-end Developer.
Does this checkpoint require a secondary owner?
Yes. This checkpoint is about front-end implementation, however a UX Designer is also responsible for including the keyboard specifications for reading and tabbing order in their design documentation that is shared with the Front-end Developer.
Does this checkpoint require a contributor?
No.
Try it for yourself!
Try the exercise with another checkpoint from the Starter List above.
Back to Top