This question already has an answer here:
Doing some editing and came across a sentence in which a colon is used to introduce a quote. Is the colon justified in this case? SENTENCE ENDS:
...wearing a T-shirt that says: "When the going gets tough, the tough get going."
The following question (Correct punctuation to introduce a supporting quote) is actually focused on a slightly different issue, since it is about using a colon to introduce a quotation after a complete sentence.
The answers to it seem to be geared toward that example; one of them cites a Purdue OWL post that says it is appropriate to use a colon to introduce a quotation after a complete sentence or independent clause. But that is not the case here, since "a T-shirt that says" is not a complete clause or statement.
One answer (by Roaring Fish) quotes a "Guide to Punctuation" by Larry Trask that seems to say that it is "bad style," but not outright "wrong," to use a colon in the sentence "President Nixon declared: 'I am not a crook.' " This seems relevant, but it's a bit confusing. Why doesn't Trask just label this "wrong"? Is it a matter of opinion? I'd appreciate other references that describe the most common and influential viewpoints about how to punctuate phrases like this.