Colour vision and colour signals are important to aquatic animals, but light scattering and absorption by water distorts spectral stimuli. To investigate the performance of colour vision in water, and to suggest how photoreceptor spectral sensitivities and body colours might evolve for visual communication, we model the effects of changes in viewing distance and depth on the appearance of fish colours for three teleosts: a barracuda, Syphraena helleri, which is dichromatic, and two damselfishes, Chromis verater and C. hanui, which are trichromatic. We assume that photoreceptors light-adapt to the background, thereby implementing the von Kries transformation, which can largely account for colour constancy in humans and other animals, including fish. This transformation does not however compensate for light scattering over variable viewing distances, which in less than a metre seriously impairs dichromatic colour vision, and makes judgement of colour saturation unreliable for trichromats. The von Kries transformation does substantially offset colour shifts caused by changing depth, so that from depths of 0 to 30m modelled colour changes (i.e. failures of colour constancy) are sometimes negligible. However, the magnitudes and directions of remaining changes are complex, depending upon the specific spectral sensitivities of the receptors and the reflectance spectra. This predicts that when judgement of colour is important, the spectra of signalling colours and photoreceptor spectral sensitivities should be evolutionarily linked, with the colours dependent on photoreceptor spectral sensitivities, and vice versa.