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, Sphyraena helleri, which is dichromatic and two damselfishes, Chromis verater and Chromis hanui, which are trichromatic. We assume that photoreceptors light-adapt to the background, thereby implementing the von Kries transformation, which can largely account for observed 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 30 m 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.