Your question is reasonable and some of the responses here are mean. You don't deserve that, OP. Amazing how even the most innocuous post can provide an opportunity for snark.
I think the seller could have been more forthright but that you don't have much reason to complain. If it were me, I might have put in a good rating, not the top one, and say something like (assuming it's all true),
"Speakers worked perfectly and were shipped on time and safely. Seller did not clearly disclose that grills would not be included and this is the reason I've left a less than top rating."
This would explain your rating, give credit where it's due, and yet warn other purchasers that this seller may need some coaxing to disclose all pertinent information. You may save a future buyer some headache or even some money.
I think the seller could have been more forthright but that you don't have much reason to complain. If it were me, I might have put in a good rating, not the top one, and say something like (assuming it's all true),
"Speakers worked perfectly and were shipped on time and safely. Seller did not clearly disclose that grills would not be included and this is the reason I've left a less than top rating."
This would explain your rating, give credit where it's due, and yet warn other purchasers that this seller may need some coaxing to disclose all pertinent information. You may save a future buyer some headache or even some money.