You have the basic idea down. Many dyes are colored because they have conjugated pi-bond systems which absorb in the visible range. Bleach disrupts these conjugated pi-bond systems by oxidizing a double bond back to a single bond, decreasing the size of the conjugated pi bond system. This results in a larger HOMO-LUMO gap and causing the dye to absorb a higher energy of light (e.g ultraviolet instead of visible).
I would guess, however, that the bleach does not oxidize the double bonds in the benene rings. It more likely oxidizes some of the alkene double bonds in the dyes.