The Savages star has previously spoken out against the "racist idiots" who passed her over for roles "because of my accent or because I'm Mexican".
"I had many situations where they would say, 'That was brilliant. If you were American, you would definitely have got the job. If you could get rid of your accent, you would be perfect'," Hayek told Stylist.
"That's silly. If I moved you, if this character would gain something by my interpretation, why would you care?
"I would understand if the role was for a Norwegian model - I'm wrong for the part. But if the role is a waitress, sometimes they would say, 'It's not a Mexican waitress'. So they would say, 'No'."
Asked when such attitudes changed, she said: "I think I changed it. I think Jennifer [Lopez], myself and Penélope [Cruz] changed it. That generation. We had it tough. Now it's a lot easier."
Hayek added: "It would have been easy to give up. I had somewhere to go back to, you see.
"I could have just gone back and been a star in Mexico. I had a lot of offers. I am proud of myself because I didn't settle."
Hayek's spokesperson recently clarified comments to a German magazine about her Mexican heritage that had been "lost in translation".
The actress herself later added: "I have never denied my background or my culture.
"I have taught my child to embrace her Mexican heritage, to love my first language, Spanish, to learn about Mexican history, music, folk art, food, and even the Mexican candy I grew up with."