I have tried many ways to do this with no success, but what I want to do is the following:
GRANT ALTER ON [dbo].[theTable] TO [role]
Bonus if y
GRANT ALTER ON object TO principal is the correct form of the statement in your case.
GRANT ALTER ON object TO principal
To view the permissions granted to you on the object, use the fn_my_permissions function like this:
SELECT * FROM sys.fn_my_permissions('object', 'OBJECT') ;