How can I can explain to a learner why we say "an empty blue glass" and not "a blue empty" glass, both adjectives seem to be facts.
One explanation of the adjective order is that adjectives that are more fundamental to the nature of an object sit closer to it.
In the case of a glass, the colour of the material is more fundamental to its nature than whether it is filled or empty. You can't change its colour, but you can fill an empty glass.
It is a "blue glass" which might be empty or full.
Where more than one adjective are to be applied to something, the normal order is:
Opinion, size, physical quality, shape, age, colour, origin, material, type, purpose.
'Empty' is a physical quality, so comes before "blue", a colour.
You could have an ugly, small, empty, round, old, blue, German, wooden, reclining, TV-viewing chair.