Map<String, dynamic> toMap() => { 'action': action, 'label': label, 'value': value, 'attributes': attributes, 'semantics': semantics, };