This is an unpublished draft preview that might include content that is not yet approved. The published website is at w3.org/WAI/.

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
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.

Read the full user stories

Resources

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.

Step A: Is this checkpoint business-related?

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

This is an unpublished draft preview that might include content that is not yet approved. The published website is at w3.org/WAI/.