Learning colors is not an easy task for young children. This surprised me years ago when I began teaching young children, and I still don’t have a good explanation for it.
Judging from what she has already learned, I would agree with you that your daughter is very bright. However, in the things she has learned to say and sing she doesn’t have to relate the words to any objects or particular meaning. Although she can count to 20, she probably does not have what mathematicians call one-to-one correspondence, which means she understands that the word “seven” means seven objects, that “thirteen” means 13 objects, etc. Learning to count, or to recite the Pledge of Allegiance, does not require associating the words (sounds) with physical stimuli (objects or things). Identifying colors, on the other hand, requires the child to assign a specific label to each color.
Before you try to teach her the names of colors, make certain that she can distinguish one color from another (i.e., that she isn’t color-blind, a rare condition in girls). Determine whether she understands what you mean by “same” and “different.” Then hold up two things at a time (pieces of colored paper, crayons, napkins, shirts, etc.). Ask her, “Are these the same color? Or are they different colors?” Sometimes hold up two of the same objects and at other times hold up two different ones. If she demonstrates the ability to make the discrimination, help her with labels for the colors. Emphasize the color of things in your everyday routines. “Let’s wear your yellow shirt today. Can you get it for me?” Praise her when she gets it right, and reassure her when she gets it wrong. Say something like, “It’s hard to learn the names of colors. But you’ll get them before long.”
Our parenting advice is given as suggestions only. We recommend you also consult your healthcare provider, and urge you to contact them immediately if your question is urgent or about a medical condition.