There's a property of the control named "UnmatchOnHidden". You may try that to see if that works for you. In addition, you could also check that property in your automation and skip your automation logic based on that property (i.e. don't do it if it is invisible).
If the 'OuterHtml' (or InnerHtml) of the control specifies this value 'Visible' (whether visible or not), you may add the 'Attribute Value Match Rule' and specify the Attribute 'OuterHtml' and in the 'Text' property of this match rule, you may define the match as required.
I would not recommend leaving this to chance. When you set UseKeys to true you get a CloneCollection which you can iterate through using the GetClones method. You can then check each clone for the Visible property to ensure you are operating on the correct one.