A signaling channel that punctures traffic channels is used to send signaling, e.g., acknowledgments (ACKs). To send signaling, resources for the signaling channel are determined, e.g., based on a frequency hopping pattern. Signaling is spread with a spreading code (e.g., a Walsh code) to generate spread signaling, which is mapped to the resources for the signaling channel. Each resource may be partitioned into multiple clusters. A signaling message may be mapped to different clusters to achieve diversity. Traffic data may also be mapped to other resources for a traffic channel assigned for use. Traffic data mapped to the other resources for the signaling channel is punctured. The mapped signaling and traffic data are further processed (e.g., for OFDM or SC-FDMA) and transmitted.