#Kai:...
Explore tagged Tumblr posts
Text
Revisiting Image Maps
New Post has been published on https://thedigitalinsider.com/revisiting-image-maps/
Revisiting Image Maps
I mentioned last time that I’ve been working on a new website for Emmy-award-winning game composer Mike Worth. He hired me to create a highly graphical design that showcases his work.
Mike loves ’90s animation, particularly Disney’s Duck Tales and other animated series. He challenged me to find a way to incorporate their retro ’90s style into his design without making it a pastiche. But that wasn’t my only challenge. I also needed to achieve that ’90s feel by using up-to-the-minute code to maintain accessibility, performance, responsiveness, and semantics.
Designing for Mike was like a trip back to when mainstream website design seemed more spontaneous and less governed by conventions and best practices. Some people describe these designs as “whimsical”:
adjective
spontaneously fanciful or playful
given to whims; capricious
quaint, unusual, or fantastic
— Collins English Dictionary
But I’m not so sure that’s entirely accurate. “Playful?” Definitely. “Fanciful?” Possibly. But “fantastic?” That depends. “Whimsy” sounds superfluous, so I call it “expressive” instead.
Studying design from way back, I remembered how websites often included graphics that combined branding, content, and navigation. Pretty much every reference to web design in the ’90s — when I designed my first website — talks about Warner Brothers’ Space Jam from 1996.
Warner Brothers’ Space Jam (1996)
So, I’m not going to do that.
Brands like Nintendo used their home pages to direct people to their content while making branded visual statements. Cheestrings combined graphics with navigation, making me wonder why we don’t see designs like this today. Goosebumps typified this approach, combining cartoon illustrations with brightly colored shapes into a functional and visually rich banner, proving that being useful doesn’t mean being boring.
Left to right: Nintendo, Cheestrings, Goosebumps.
In the ’90s, when I developed graphics for websites like these, I either sliced them up and put their parts in tables or used mostly forgotten image maps.
A brief overview of properties and values
Let’s run through a quick refresher. Image maps date all the way back to HTML 3.2, where, first, server-side maps and then client-side maps defined clickable regions over an image using map and area elements. They were popular for graphics, maps, and navigation, but their use declined with the rise of CSS, SVG, and JavaScript.
<map> adds clickable areas to a bitmap or vector image.
<map name="projects"> ... </map>
That <map> is linked to an image using the usemap attribute:
<img usemap="#projects" ...>
Those elements can have separate href and alt attributes and can be enhanced with ARIA to improve accessibility:
<map name="projects"> <area href="" alt="" … /> ... </map>
The shape attribute specifies an area’s shape. It can be a primitive circle or rect or a polygon defined by a set of absolute x and y coordinates:
<area shape="circle" coords="..." ... /> <area shape="rect" coords="..." ... /> <area shape="poly" coords="..." ... />
Despite their age, image maps still offer plenty of benefits. They’re lightweight and need (almost) no JavaScript. More on that in just a minute. They’re accessible and semantic when used with alt, ARIA, and title attributes. Despite being from a different era, even modern mobile browsers support image maps.
Design by Andy Clarke, Stuff & Nonsense. Mike Worth’s website will launch in April 2025, but you can see examples from this article on CodePen.
My design for Mike Worth includes several graphic navigation elements, which made me wonder if image maps might still be an appropriate solution.
Image maps in action
Mike wants his website to showcase his past work and the projects he’d like to do. To make this aspect of his design discoverable and fun, I created a map for people to explore by pressing on areas of the map to open modals. This map contains numbered circles, and pressing one pops up its modal.
My first thought was to embed anchors into the external map SVG:
<img src="projects.svg" alt="Projects"> <svg ...> ... <a href="..."> <circle cx="35" cy="35" r="35" fill="#941B2F"/> <path fill="#FFF" d="..."/> </a> </svg>
This approach is problematic. Those anchors are only active when SVG is inline and don’t work with an <img> element. But image maps work perfectly, even though specifying their coordinates can be laborious. Fortunately, plenty of tools are available, which make defining coordinates less tedious. Upload an image, choose shape types, draw the shapes, and copy the markup:
<img src="projects.svg" usemap="#projects-map.svg"> <map name="projects-map.svg"> <area href="" alt="" coords="..." shape="circle"> <area href="" alt="" coords="..." shape="circle"> ... </map>
Image maps work well when images are fixed sizes, but flexible images present a problem because map coordinates are absolute, not relative to an image’s dimensions. Making image maps responsive needs a little JavaScript to recalculate those coordinates when the image changes size:
function resizeMap() ["load", "resize"].forEach(event => window.addEventListener(event, resizeMap) );
I still wasn’t happy with this implementation as I wanted someone to be able to press on much larger map areas, not just the numbered circles.
Every <path> has coordinates which define how it’s drawn, and they’re relative to the SVG viewBox:
<svg width="1024" height="1024"> <path fill="#BFBFBF" d="…"/> </svg>
On the other hand, a map’s <area> coordinates are absolute to the top-left of an image, so <path> values need to be converted. Fortunately, Raphael Monnerat has written PathToPoints, a tool which does precisely that. Upload an SVG, choose the point frequency, copy the coordinates for each path, and add them to a map area’s coords:
<map> <area href="" shape="poly" coords="..."> <area href="" shape="poly" coords="..."> <area href="" shape="poly" coords="..."> ... </map>
More issues with image maps
Image maps are hard-coded and time-consuming to create without tools. Even with tools for generating image maps, converting paths to points, and then recalculating them using JavaScript, they could be challenging to maintain at scale.
<area> elements aren’t visible, and except for a change in the cursor, they provide no visual feedback when someone hovers over or presses a link. Plus, there’s no easy way to add animations or interaction effects.
But the deal-breaker for me was that an image map’s pixel-based values are unresponsive by default. So, what might be an alternative solution for implementing my map using CSS, HTML, and SVG?
Anchors positioned absolutely over my map wouldn’t solve the pixel-based positioning problem or give me the irregular-shaped clickable areas I wanted. Anchors within an external SVG wouldn’t work either.
But the solution was staring me in the face. I realized I needed to:
Create a new SVG path for each clickable area.
Make those paths invisible.
Wrap each path inside an anchor.
Place the anchors below other elements at the end of my SVG source.
Replace that external file with inline SVG.
I created a set of six much larger paths which define the clickable areas, each with its own fill to match its numbered circle. I placed each anchor at the end of my SVG source:
<svg … viewBox="0 0 1024 1024"> <!-- Visible content --> <g>...</g> <!-- Clickable areas -->` <g id="links">` <a href="..."><path fill="#B48F4C" d="..."/></a>` <a href="..."><path fill="#6FA676" d="..."/></a>` <a href="..."><path fill="#30201D" d="..."/></a>` ... </g> </svg>
Then, I reduced those anchors’ opacity to 0 and added a short transition to their full-opacity hover state:
#links a opacity: 0; transition: all .25s ease-in-out; #links a:hover opacity: 1;
While using an image map’s <area> sadly provides no visual feedback, embedded anchors and their content can respond to someone’s action, hint at what’s to come, and add detail and depth to a design.
I might add gloss to those numbered circles to be consistent with the branding I’ve designed for Mike. Or, I could include images, titles, or other content to preview the pop-up modals:
<g id="links"> <a href="…"> <path fill="#B48F4C" d="..."/> <image href="..." ... /> </a> </g>
Try it for yourself:
Expressive design, modern techniques
Designing Mike Worth’s website gave me a chance to blend expressive design with modern development techniques, and revisiting image maps reminded me just how important a tool image maps were during the period Mike loves so much.
Ultimately, image maps weren’t the right tool for Mike’s website. But exploring them helped me understand what I really needed: a way to recapture the expressiveness and personality of ’90s website design using modern techniques that are accessible, lightweight, responsive, and semantic. That’s what design’s about: choosing the right tool for a job, even if that sometimes means looking back to move forward.
Biography: Andy Clarke
Often referred to as one of the pioneers of web design, Andy Clarke has been instrumental in pushing the boundaries of web design and is known for his creative and visually stunning designs. His work has inspired countless designers to explore the full potential of product and website design.
Andy’s written several industry-leading books, including Transcending CSS, Hardboiled Web Design, and Art Direction for the Web. He’s also worked with businesses of all sizes and industries to achieve their goals through design.
Visit Andy’s studio, Stuff & Nonsense, and check out his Contract Killer, the popular web design contract template trusted by thousands of web designers and developers.
#2025#Accessibility#ADD#amp#animation#animations#approach#aria#Art#Article#Articles#attributes#Books#Branding#brands#challenge#change#circles#code#content#CSS#css-tricks#CX#deal#Design#designers#developers#development#dimensions#direction
0 notes
Text
Love it when Rolling Stone puts out an article about the 25 most influential internet creators and I've only heard of 7 of them
#kai rambles#god i feel old#but im not old#im 24#but im looking at this list like who are any of you?#why did this get 60k notes
63K notes
·
View notes
Text

He's never happy
#atla#avatar the last airbender#zuko#katara#atla fanart#prince zuko#atla art#azula art#azula fanart#atla azula#princess azula#atla zuko#zuko art#zuko fanart#katara art#katara fanart#atla katara#katara of the southern water tribe#the gaang#atla meme#agni kai#The Last Agni Kai#sozins comet#From “I'm never happy” to “Am I happy?”#That's what I call character development#Oh Zuzu what are we going to do with you#(It's okay everyone still loves you)#(Except for Lala)#(But she's in the middle of a breakdown so it's understandable)#(She'd love you too if she was in a right place)
33K notes
·
View notes
Text

#yandere writer#male yandere#bloodtalks‼️#male reader#male yandere x reader#dc x male reader#dc x reader#dick grayson x male reader#dick grayson x reader#female reader#bridgerton smut#cobra kai smut#aot smut#daniel larusso smut#damian wayne smut#bruce wayne smut#dick grayson smut#adam smut#anime smut#aether x male reader smut#dc smut#avatar fluff#atla fluff#demon slayer smut#jjk angst#chris sturniolo angst#eli moskowitz x reader smut#fnaf x reader smut#evan peters smut#franken kyle x reader smut
32K notes
·
View notes
Text
Grunkle Stan is WHAT
I don’t know where the original meme is even from but it GETS ME EVERY TIME
#memes#art#my crappy art#kay draws#my art#gravity falls dipper#gravity falls fanart#gravity falls mabel#gravity falls#grunkle stan#stanley pines#gravity falls memes#see it’s funny because he’s trans!
31K notes
·
View notes
Text
US authorities have turned to Europe for help with the country's severe egg shortage. The shortfall is due to bird flu, which has plagued the United States for several years.
The Finnish Poultry Association says it has been contacted about exporting eggs to the US. The organisation's executive director, Veera Lehtilä, told Yle on Saturday that exporting eggs does not seem to be possible at the moment because no market access negotiations have been held with US authorities. This can be a drawn-out process involving extensive inspections and studies.
According to the Danish magazine AgriWatch, the US has also requested eggs from Denmark, Sweden and the Netherlands.
One of Sweden’s biggest egg producers, Kronägg, told the daily Aftonbladet that it is unlikely to export eggs to the US, saying it would be difficult due to various export restrictions. Meanwhile, there is also an egg shortage in Europe.
(full article)
#us politics#suomi#finland#finnish#*#ei kai kukaan ees tässä maailmantilanteessa haluais myydä niille?#varmasti aivan liian riskialtista lähteä alottamaan uutta kauppaa nyt
10K notes
·
View notes
Text
What it says on the tin, plus some simple explanations of who has the power to do what.
#stay on target#means yell at the people who actually have the power to do what you want#us politics#civics 099#His Fraudulency#MAGAts#kai mutterings#how to help
10K notes
·
View notes
Text
I LOVE WHEN THEY
#this is the ONLY way for Kay to be introduced to Phoenix#and I eat it up everY TIME#SO GOOD#ace attorney#Phoenix wright#phoenix wright ace attorney#miles edgeworth#miles edgeworth investigations#kay faraday#my art#wrightworth#narumitsu
6K notes
·
View notes
Text
mama a Body behind you 😰 // pt1/pt2/pt3
#NO I STILL HAVEN'T FINISHED NONA PLEASE DON'T LOOK AT ME#the next book still doesn't have a release date and i don't wanna be left in lingo#and also i love nona and don't want anything bad to happen to her and i have a feeling. bad thing are gonna happen to her :')#also can you fucking believe it's december now. jesus christ#anway. tags now#tlt#the locked tomb#gideon the ninth#harrow the ninth#gideon nav#harrow nonagesimus#harrowhark nonagesimus#griddlehark#ianthe tridentarius#palamedes sextus#camilla hect#nona#harrianthe#kay byeee!
11K notes
·
View notes
Text







#the past couple of days really laid bare everyone's hypocrisy#and Netanyahu is saying with a straight face that he is a peacemaker#???#iran#Palestine#israel#david cameron#kay burley#free palestine#gaza#middle east#gaza strip#free gaza#fuck israel
23K notes
·
View notes
Text

Little turtle duck :)
#avatar the last airbender#atla#avatar#zuko#zuko fanart#ursa#art#artists on tumblr#this is an apology for the last time i drew zuko#during his agni kai ;-;#avatar fanart
26K notes
·
View notes
Text
Happy Birthday Ninjago!!!
#ninjago#lego ninjago#ninjago anniversary#ninjago birthday#ninjago cole#ninjago dragons rising#ninjago pixal#ninjago nya#ninjago lloyd#ninjago jay#ninjago zane#ninjago kai
6K notes
·
View notes
Text
watching/rewatching a show when you already have an established favorite character is great because every time they come on screen it's like
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#favorite character#new amsterdam#lauren bloom#elizabeth wilder#greys anatomy#amelia shepherd#addison montgomery#kai bartley#cristina yang#arizona robbins#supergirl#lena luthor#alex danvers#lexie grey#not screenreader safe#not screenreader friendly
46K notes
·
View notes
Text


I had a vision in shades of sacrifice.
#atla#avatar the last airbender#zuko#atla fanart#atla art#prince zuko#Lu Ten II#spitfire#Spitfire AU#hey brother#avicii#atla zuko#zuko art#zuko fanart#atla au#lu ten fanart#lu ten atla#lu ten#sozin's comet#atla azula#princess azula#atla ozai#fire lord ozai#agni kai#fire hazard siblings#fire nation royal family#This song is doing unforeseen things to the Spitfire AU#A switch in players. A change in roles.#Lightning aimed at Zuko. Lightning redirected by Lu Ten II. The youngest sibling. The Sun Prodigy. The future of the Fire Nation.#A child
11K notes
·
View notes
Text



These attorneys sure are ace or smth idk
#marim's art#ace attorney#apollo justice ace attorney#phoenix wright ace attorney#phoenix wright#miles edgeworth#narumitsu#wrightworth#simon blackquill#kay faraday#maya fey#pearl fey#trucy wright#listen I thought abt phoenix being in the first one but he is technologically illiterate#I swear I draw proper things it just takes me some time. and I have to be in the mood u feel me#I mostly wanted to do the Simon one it brings me joy
14K notes
·
View notes