I often hear this from my clients:
"My kids tell me: Mom (or Dad), you're not pronouncing that word right!"
The moms and dads in this case are my clients. Typically they are advanced, non-native speakers of English whose kids were either born in the United States or who came to the country at an early age. As a result, English is these kids' first language or they are learning it when they are young.
As any parent can tell you, sometimes your own kids are your biggest critics. However, the problem with your kids' well-meaning feedback is this: what they hear as a "mispronunciation" is usually just your accent. And an accent is not necessarily a mispronunciation.
So what's the difference between a mispronunciation and an accent?
Here's an example. One of my clients said to me, "I ate soap for dinner last night."
I said, "You ate soap for dinner? Are you sure?"
He laughed and corrected himself. "No, no. I ate soup for dinner!"
As you can see, if you pronounce "soup" as "soap", yes, that's a mispronunciation. You have substituted one English word for another, and your meaning is not clear.
On the other hand, if you say, "I ate soup for dinner", and the word "dinner" sounds more like "deener", that's an accent. "Deener" is not quite how a native American English speaker would say "dinner", but I can understand you just fine.
So the next time your kids correct you, ask them: "Did you understand me?" If they say "yes", then I suggest you simply smile and say, "That's not a mispronunciation, that's just my beautiful accent!"
* The standard American English pronunciation of "dinner" uses the sound /i/ as in "fit" instead of the /ɪ/ as in "feet" in the first syllable.