You are assuming that all special query pages use that naming convention for messages, which is not always true. Why not use $special->getDescription()?
Also needs html escaping!