As you can see from the pictures nothing had to be bought to do this activity. I used objects from around the house, just be creative!
Put all the buttons in one container with the separate containers out in front that you will be sorting them into. With very little words/explanation start sorting the buttons yourself, saying the colors. If your child wants to try, let them take over. If they try to put a wrong color button in a container simply intervene gently and direct them.
Once all the buttons are sorted show your child how to pour all the buttons back into the main bowl. Congratulate your child! If your child wants to do it again (and again and again) let them :) Once your child is finished put the bowls back on the tray and have them carry it back on the shelf in it's place. (Or have them carry it into the room where you store it, this is what I do for many of my activities I don't leave in arm's reach of my daughter).
I first started with 4 different colors, pink, yellow, orange and green. She mastered this very quickly and got bored with it after a week or so.
So I then gave her five different colors to sort, blue, purple, green, orange and pink. The purple and blue were difficult to differentiate for her but she eventually got it.
Another "activity" my daughter loves to do when I am sewing is to play with my thread spools. Any child loves stacking, it is such a great activity for coordination & concentration. She loves her blocks and uses them so much that she welcomes a little change once in a while. She amazed me one day when I looked over and saw she had stacked 10 spools on top of one another, almost out of her reach!
Of course great care and supervision should be taken with BOTH these activity since buttons are small and can be a choking hazard, thread spools as well. I assure you that in my small apartment my daughter is literally at my side at all times and closely supervised with these activities. I don't keep these activities within her reach when she is not working with them. :)