Casebrief: Yeti Motion

Yeti Motion

A semantic approach to a flashy website

Challenge

I took on the challenge posed by Yeti Motion to enhance the accessibility of their website in a total of 3 weeks.

The original website presented various accessibility issues, prompting me to craft a revamped version that not only addressed these concerns but also retained the flashy and dynamic elements of the original.

My part

Leveraging HTML, CSS, and JavaScript, I reconstructed the site with a focus on semantic code, ensuring seamless readability for screen readers, that performs as flashy as the original one does.

A semantic approach

For the Yeti Motion website, I prioritized a semantic approach to coding. In the HTML, I carefully structured a meaningful DOM using semantic elements for improved accessibility.

The CSS was designed with semantic styles, promoting clarity and easy maintenance. JavaScript components seamlessly integrated into the semantic structure, resolving accessibility issues while enhancing overall user experience.

The result is a website that combines flashy design with a strong focus on accessibility and a well-organized codebase.

How I made it accessible

To achieve this, I utilized tags such as section, article, nav, header, footer, etc., to appropriately attribute the content. In link tags, I implemented aria labels, and image labels have well-crafted alt text.

CSS is composed with pseudo-classes, and I minimized the use of classes/ID's, primarily employing them for styling JavaScript elements on the site.

accessibility is optimised by making a light mode version, for people who prefer light mode on their personal device, and so is reduced motion included.

Canvas

In the original site, a specific section featured a unique effect that could only be replicated using a canvas tag. Despite being relatively new to working with canvas, I delved into the code terminal using NPM and libraries such as Node module WebGL + OGL to attempt and recreate a hover-over text effect.

Although the final result differed from the original, I successfully crafted something that exceeded my prior knowledge and capabilities.

Yeti Motion's about page on an Iphone Yeti Motion's about page on an android phone

Creating animated effects

The pages feature a substantial amount of animated content, and I employed various methods to reconstruct these animations. Clipping masks played a significant role, as demonstrated in the lightning bolt in the first section and the hoverable list navigation.

In the case of the latter, I utilized the JavaScript API Intersection Observer to dynamically make it visible when entering that specific section.

CSS Tricks

Special effects triggered by clicks, such as those on the play button or the navigation menu, are implemented using toggle states in JavaScript. The use of :root variables and calc() functions within the CSS significantly facilitated the creation of these effects.

Additionally, the application of the TranslateZ() attribute proved to be instrumental in enhancing various sections of the content, as illustrated below.

Want to see some more?

First screen of the project On The Border

On the Border

Concept Visual Design Front End
The Robin Assistant dashboard on laptop

Robin Assistant

Visual Design Front end