For vector style graphics (like in the article) - You can achieve this quite simply on the web with SVG DOM.
You can add event listeners to the SVG's paths/groups and apply fill when clicked.
You can add event listeners to the SVG's paths/groups and apply fill when clicked.