Some banding will be the result of how the image is generated.
Sensors have a more or less linear response.Each photon that hits the sensor pixel adds 1 or a small bunch of electrons to the storage well. This charge is measured at the end of the exposure and converted to a number. Now which number do we choose?
Most sensors out there now are either 12 bit or 14 bit. 12 bit gives us a range from 0 to 4096, overall a range of 12 stops. Given that cheap screens can manage only a range of about 6 stops, high quality black and white print papers only about 7 stops, and the human eye no better. (There's a reason we adjust our eyes f/stop (iris) when we come in from the sun, and why we like neutral density filters (sunglasses) when we go outside.)
But if we use the full range then less than some number of electrons is a zero, a range above that is a one, a range above that is a two and so on. So at the low end of the scale the smallest possible change is a significant fraction of the whole.
But wait! It gets worse. This first problem can be compensated by mapping those big relative changes to small changes in brightness. But now you have to deal with turning 12 bits of image into an 8 bit pixel map for jpeg. This is part of the whole point about HDR, but if there are extensive areas of actual black then HDR algorithms don't always get it right.
And it gets still worse: A cheap LED display has in effect only 5-6 bits of luminance range. So either it, or your graphics card has to map 8 bits down to fewer bits.
Some cheap phone screens do not show pictures well. They tend to display images that look garishly over saturated, almost posterized.
As a photographer you have to be aware of what the target audience is using to look at the image, just as the old time guys who lugged view cameras around had to think about the characteristics of the film, the developer, and the paper. But while they had control of the print and the viewing conditions of the print, you don't have control. So you have to adjust.
This can be a problem for websites. You can include scripts to determine what is being used for viewing the image, and then keep several versions of an image on the server. The appropriate one is served. Right now that's mostly done on the basis of "serve smaller or cropped images to small displays" but as the capabilities of devices spreads, you may have to take this into account.
(FWIW on my dell U2412 monitor, running off a Radion 5770 card, and opening your image in a new tab I can see no banding.)