Apple - Safari displays wrong color according to Digital Color Meter

Digital Color Monitor is working correctly.

I created your test page and displayed it in Google Chrome v53.0.2785.143, and it reported FFDD44.

The same page in Safari reported, for me, F4E14F. Looking at them next to each other, they don't even look like the same color. (In the screenshot, Chrome is the outer window, Safari the inner.)

enter image description here

It appears that the reason is gamma correction in the browser. See the Gamma Test Page. This page displays correctly (in the sense that each block is a solid color) in Safari v9.1.3, whereas it displays incorrectly in Chrome v53.0.2785.143. See screenshots below. Based on the information on the Gamma Test Page, Safari is correctly gamma-correcting CSS colors.

enter image description here enter image description here


What's happening is that Digital Color Meter (and all color droppers) is reading the color value AFTER it has been adjusted for your display's ICC Color Profile. See how it shows "Color LCD" in the bottom right box? Despite the generic sounding name, that is the ICC Color Profile specifically for Macbooks.

Here's a data flow diagram:

#FFDD44 (original)
   ↓
#FEDC53 (adjusted for Color LCD display profile)

The term "Display native values" is misleading because it sounds like it's going to display the original values, but it doesn't. Apparently, color droppers cannot get the original values. So there are 2 solutions:

1. Quick and dirty solution

Change Digital Color Meter to "Display in sRGB" mode. What that does is re-convert the adjusted value to sRGB (assuming that's what the color space of the original image is). The problem with this is due to the double conversion and rounding errors, sometimes you will not get the exact original value back! (In this case, it was the same, but if you try more colors, you'll find some that are slightly off).

#FFDD44 (original)
   ↓
#FEDC53 (adjusted for Color LCD display profile)
   ↓
#FFDD44 (convert back to sRGB)

2. Exact solution

If you want to guarantee the exact original values, you should set Digital Color Meter to "Display native values", then change your System Preferences > Displays > Color > sRGB. Verify that Digital Color Meter now shows "sRGB..." in the lower right box. Since that matches the color space of the original source, no adjustment will be made, so "Display native values" will always be the exact original values. (You should remember to change it back to "Color LCD" afterwards. Or if you don't care, leave it in "sRGB".)

#FFDD44 (original)

(no adjustment since display profile sRGB matches the original color space)

See this answer for more details.