Introduction
There is an increasing emphasis on making services and products sustainable and driving business processes to ensure they are taking sustainability into account. Whether you’re a developer, agency owner or are involved in the development of websites we can all play our part in being more sustainable as a community by helping to build sustainable websites.
Typically when people think about sustainability, they think about the environment and making sure that they are being more "eco-friendly" or "green". However, sustainability focuses on more generally: "fulfilling the needs of current generations without compromising the needs of future generations, while ensuring a balance between economic growth, environmental care and social well being"
There are therefore multiple different areas that contribute towards being sustainable, best described using the 4 pillars of sustainability:
- Human
- Economic
- Social
- Environmental
Human
The Human pillar focuses on improving and maintaining human capital by being a member of society and focusing on people both directly or indirectly involved or affected by the products or services we deliver.
Key areas to focus on:
- Accessibility
- Ease of content-editing
- Usability and User Experience
- Resources
- Training & Learning Opportunities
Accessibility
By building a website that can be accessed by all, not only are we able to share the content with a larger audience, we’re also creating an inclusive website so all users can use this despite any disabilities that may limit their internet use.
This is commonly overlooked by most developers and agencies, so below are some quick wins that can be implemented into your next Umbraco solution to improve the accessibility.
When building websites, it should be common practice to run a web accessibility tool such as the WAVE tool or WEBAIM tool against each page. This will check through the page to check for common accessibility faults, and give solutions to resolve these. Google Lighthouse also gives an accessibility score for website pages, however this report is not as detailed as some of the other accessibility tools.
Accessibility quick fixes:
- DO use <h1> tag should be used as the main heading on the page
- DO NOT skip heading levels
- DO use HTML landmark elements such as <header>, <aside>, <footer>, <nav>, <main>, <section> etc. to build out an accessible content structure
- DO use HTML lists e.g. <ol>, <ul> and <dl> to group items similar to each other
- DO include a descriptive page <title>
- DO add a language attribute e.g. <html lang="en">
- DO add a title text property when using an <iframe>
- DO NOT put informative images as background images
- DO add alt text to informative and actionable images (use an empty alt attribute on non-descriptive images to make screen readers skip them)
- DO check a user can navigate through the page using a screen reader
- DO check the website page using an accessibility tool and resolve any issues
Social
This pillar focuses on the wider communities, which interact with you and the services you offer, this can be through the communities you’re a part of to improve social qualities.
Key areas to focus on:
- Open source community
- Recruitment
- Inclusivity and Equality
Good news ! I’m sure you’re already aware of the Umbraco community and how great it is, well just by sharing knowledge or being friendly in the community you’re helping the community grow and improving the social sustainability of both your personal brand and the Umbraco community.
Environmental
Environmental sustainability focuses on preserving the environment and protection of natural resources.
We can improve our environmental sustainability, through some of the following:
- Eco Hosting
- Sustainable Web design
- Image optimisation
- Reducing page weight
- Reducing 3rd party scripts
Eco Hosting
There are a number of different services available that offer Eco-hosting such as Azure and Umbhost.
Both of these services offer a Hosting solution that uses renewable energy to offset the amount of carbon produced through the running of the servers. This helps to reduce the impact on the environment through powering the servers off renewable energy such as wind and solar.
Image Optimisation
Not only is this a big issue for page weight and additional carbon production on a website there is also a massive impact on SEO rankings due to reduced page speeds.
I'm sure you've experienced a website that you've visited only to find the page loads slowly or some images just don't load at all.. frustrating right !
Luckily there's a few different ways we can prevent this…
The first solution is a code solution, which we can add into the website code and that's implementing WEBP images, Lazy Loading and Image Cropper all to ensure the images loaded are of the correct size and format.
WEBP images are preferred by browsers due to them implementing both lossy and lossless compression in order to reduce the image file size as much as possible without affecting the image quality. Implementing this with Image cropper helps to crop the image, so the correct size image is loaded in, this prevents loading a full-width image just for a thumbnail.
Lazy loading ensures that the images are loaded as the user scrolls down the page. The images above the fold, i,e. the images visible to the user, will be loaded initially. The other images on the page below the fold will then be loaded by the browser as the user scrolls to prevent the additional load time when loading the page initially. If a user clicks on the page and then navigates away without viewing the rest of the page, then the additional images below the fold are not loaded and therefore additional carbon is not produced to load them.