How can user select attributes for a product when clicking on an add-to-cart link?
Very old one but why not answer?

Use Ubercart Cart LInks module (included in Ubercart Core). I think it allows links that operates on the cart, like empty cart or add a product what I guess includes product attributes.

Here it's explained, but is very old page, check module documentation.

http://www.ubercart.org/node/1427