Oh, for crying out loud.
It's a digital photograph on a light-using medium (computer screens).
Objectively speaking, the dress displays as shades of blue and brown. I'm an artist trained to see these things; it's my job to try to reproduce them in paint. I am willing to bet screen captures using Photoshop or something similar would show colors in the blue and brown range.
However, our eyes don't actually see colors objectively. Our visual sensory organs are cobbled together from the accidents of evolution. Most of what we think we see is our brain's interpretation and interpolation of whatever signals our eyes manage to catch.
A lot of the colors we think we see are contextual. They are interpreted based on what is around them. This is why the same color of paint can look like white or like navy blue depending on the other colors around it.
This is one of the basic skills painters need to learn in order to fool the eye with paint, which has a much more limited range of colors than all the actual possibilities the world gives us.
That photograph has a dress in it. The quality of the photograph is terrible, and there is no human figure in it to mentally adjust the colors by, which adds to the ambiguity.
The light beyond the dress is washed out yellow and brilliant white. The dress in the foreground shows blues and browns.
However, that is not necessarily what our brains interpret.
When a light is yellow, its shadows are blue. When we see a strong blue in an apparent yellow light, we tend to interpret it as white in shadow instead of blue.
Likewise, that could be a deeply shadowed gold lace, or it could be a badly-photographed washed-out black with yellowish light on it, or it could be brown.
Our brains will try to make sense of the picture based on contextual clues. It's what brains do.
Sometimes this image will look like a white and dark gold dress in deep shadow, sometimes a blue and brown dress, and sometimes a blue and black dress with yellowish reflections.
It's all in the mind.