So basically you just need to track the first interaction with the Accordion, and its initial state is "closed", so the first interaction should be an "open" action, right?
My first thoughts (without seeing the implementation), would be to listen for clicks on the accordion, but add a Max Frequency condition on the rule...
Return true no more than once every 1 page view
OR
Return true no more than once every 1 sessions
OR
Return true no more than once every 1 visitor
Basically, whatever reporting frequency meets you needs.....
Although, technically, even if you tracked each click, you can still get the report: all the customers who visited the page X% opened the accordion
You can use a segment to get a de-duplicated "opened accordion":
Basically:
VISITOR
"opened accordion"
Pair this with UV, and you will get the count of UVs that opened the accordion, so you wouldn't get all the instance... but you would have them, say if you needed to pull a report such as "opens per user" or "closes per user" or "interactions per user".... but tracking every open and close would inflate server calls, so that is really up to you... but if you are really trying to see if your accordion is being used... then seeing all the interactions would be beneficial...
In an "engagement" type AB test, if you only track the interaction once... then let's say you have a user who opened the accordion 100 times... vs a user in the variant who opened it only 2 times... if you only track once per user, these users are weighted the same "1 per"... but really, control performed 50 times better for driving engagement....
There are tests where a single goal makes sense (like purchasing a subscription)... but there are many more tests where you want to see if the feature is truly engaging audiences... so a single goal doesn't make sense...
This is really up to you and your needs though, I'm just adding my 2 cents...