Tests relationship accessibility values.
{
    domNode : ul#rg1
    ignored : false
    name : {
        sources : [
            [0] : {
                attribute : aria-labelledby
                attributeValue : {
                    relatedNodes : [
                        [0] : {
                            idref : rg1_label
                            nodeResult : h3#rg1_label
                            text : Lunch Options
                        }
                    ]
                    type : idrefList
                    value : rg1_label
                }
                type : relatedElement
                value : {
                    type : computedString
                    value : Lunch Options
                }
            }
            [1] : {
                attribute : aria-label
                superseded : true
                type : attribute
            }
            [2] : {
                attribute : title
                superseded : true
                type : attribute
            }
        ]
        type : computedString
        value : Lunch Options
    }
    nodeId : <string>
    properties : [
        [0] : {
            name : focusable
            value : {
                type : booleanOrUndefined
                value : true
            }
        }
        [1] : {
            name : required
            value : {
                type : boolean
                value : false
            }
        }
        [2] : {
            name : activedescendant
            value : {
                relatedNodes : [
                    [0] : {
                        idref : rg1-r4
                        nodeResult : li#rg1-r4
                    }
                ]
                type : idref
            }
        }
        [3] : {
            name : labelledby
            value : {
                relatedNodes : [
                    [0] : {
                        idref : rg1_label
                        nodeResult : h3#rg1_label
                        text : Lunch Options
                    }
                ]
                type : nodeList
            }
        }
    ]
    role : {
        type : role
        value : radiogroup
    }
}
{
    domNode : ul#rg2
    ignored : false
    name : {
        sources : [
            [0] : {
                attribute : aria-labelledby
                attributeValue : {
                    relatedNodes : [
                        [0] : {
                            idref : rg2_label
                            nodeResult : h3#rg2_label
                            text : Drink Options
                        }
                    ]
                    type : idrefList
                    value : rg2_label
                }
                type : relatedElement
                value : {
                    type : computedString
                    value : Drink Options
                }
            }
            [1] : {
                attribute : aria-label
                superseded : true
                type : attribute
            }
            [2] : {
                attribute : title
                superseded : true
                type : attribute
            }
        ]
        type : computedString
        value : Drink Options
    }
    nodeId : <string>
    properties : [
        [0] : {
            name : focusable
            value : {
                type : booleanOrUndefined
                value : true
            }
        }
        [1] : {
            name : required
            value : {
                type : boolean
                value : false
            }
        }
        [2] : {
            name : labelledby
            value : {
                relatedNodes : [
                    [0] : {
                        idref : rg2_label
                        nodeResult : h3#rg2_label
                        text : Drink Options
                    }
                ]
                type : nodeList
            }
        }
    ]
    role : {
        type : role
        value : radiogroup
    }
}

