Why Bulma Should Not Be Used On An E-Commerce Website

Bulma is a modern CSS framework based on Flexbox. It uses many of the newest and best CSS features. It has a distinct feel and look and seems to pride itself on being widely different from older CSS frameworks, like Bootstrap.

This is great in a lot of ways, and Bulma might be a good framework to use on certain projects. However, the emphasis on modernity and being different also make Bulma a poor choice for any website which is targeting a large audience.

A website that is targeting a large audience, such as an e-commerce website, needs to be as accessible as possible. The website needs to work on any device, so that all potential customers are able to have a great user experience.

Websites that are difficult to use or render will cause a loss of sales and a loss of users.

One innovation that made CSS frameworks popular is a grid system which can easily be made responsive to different screen sizes. As more people began to use their phones and tablets to browse the Internet, companies realized the importance of making their websites accessible to users with small screens. This revolutionized web design and created a mobile-first movement. Today it is very uncommon to find websites that are not responsive.

Bulma does a great job of being responsive to different screen sizes. This is one of the best aspects of Bulma.

However, different screen sizes are not the only difference in create a website that works for everyone. Users on older computers will likely have older browsers that might not support some of the modern features of Bulma. This is a problem for a website that wants to target as many users are possible. Users on old machines will not be able to correctly render a Bulma site.

This is not always a problem. Every website needs to figure out a cut off point for which browsers it supports. No website is trying to support Internet Explorer 2.0. That's just too ancient of a browser, and no one uses it anymore. Bulma just moves this cutoff point a little bit closer to more modern browsers.

A much more important issue is that the developers of Bulma seem to disregard common accessibility features as out dated. The best example of this is a pull request on github: https://github.com/jgthms/bulma/pull/153. Here a contributer is attempting to add screen reader support to Bulma.

Screen reader support is important for those who are blind or visually impaired. It's not only those who cannot see at all, but those with a wide variety of visual impairments that use screen readers. People with visual impairments are not an insignificant portion of the Internet. Ignoring their needs is a mistake.

The Bulma developers reject the above pull request because it is not a new solution to an exiting problem. Instead of using a tried and true, best practice, they instead demand a new solution. The pull request is rejected, and the accessibility feature is not added to the library.

Bulma is clearly more concerned about being cutting edge and different than about being user friendly. It's fine to attempt to do things in a modern way. If there was a more modern way of creating screen reader accessibility, then great. But there isn't and rejecting the current best practice is short sighted.

If I am creating a website, I want it to be as accessible as possible. This means I will not be using Bulma