// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
namespace System.Windows.Forms;
public partial class ToolStripLabel
{
internal class ToolStripLabelAccessibleObject : ToolStripItemAccessibleObject
{
private readonly ToolStripLabel _owningToolStripLabel;
public ToolStripLabelAccessibleObject(ToolStripLabel ownerItem) : base(ownerItem)
{
_owningToolStripLabel = ownerItem;
}
public override string DefaultAction => _owningToolStripLabel.IsLink ? SR.AccessibleActionClick : string.Empty;
private protected override bool IsInternal => true;
internal override bool CanGetDefaultActionInternal => false;
public override void DoDefaultAction()
{
if (_owningToolStripLabel.IsLink)
{
base.DoDefaultAction();
}
}
public override AccessibleRole Role
{
get
{
AccessibleRole role = Owner.AccessibleRole;
if (role != AccessibleRole.Default)
{
return role;
}
return _owningToolStripLabel.IsLink ? AccessibleRole.Link : AccessibleRole.StaticText;
}
}
public override AccessibleStates State
{
get => base.State | AccessibleStates.ReadOnly;
}
}
}
|