Bug fix #904 -- navigation bug with new Accessibility feature

This commit is contained in:
Robert McRackan 2024-05-13 15:17:17 -04:00
parent 75df78a2f7
commit b2a882b79d
4 changed files with 20 additions and 25 deletions

View File

@ -2,7 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<Version>11.3.10.1</Version>
<Version>11.3.11.1</Version>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Octokit" Version="10.0.0" />

View File

@ -243,6 +243,7 @@ namespace AppScaffolding
LogLevel_Error_Enabled = Log.Logger.IsErrorEnabled(),
LogLevel_Fatal_Enabled = Log.Logger.IsFatalEnabled(),
config.AutoScan,
config.BetaOptIn,
config.UseCoverAsFolderIcon,
config.LibationFiles,

View File

@ -4,31 +4,28 @@ namespace LibationWinForms
{
public class AccessibleDataGridViewButtonCell : DataGridViewButtonCell
{
protected string AccessibilityName
{
get => MyAccessibilityObject.AccessibilityName;
set => MyAccessibilityObject.AccessibilityName = value;
}
private string accessibilityDescription;
protected string AccessibilityName { get; }
/// <summary>
/// Get or set description for accessibility. eg: screen readers. Also sets the ToolTipText
/// </summary>
protected string AccessibilityDescription
{
get => MyAccessibilityObject.AccessibilityDescription;
get => accessibilityDescription;
set
{
MyAccessibilityObject.AccessibilityDescription = value;
MyAccessibilityObject.Owner.ToolTipText = value;
accessibilityDescription = value;
ToolTipText = value;
}
}
protected ButtonCellAccessibilityObject MyAccessibilityObject { get; set; }
protected override AccessibleObject CreateAccessibilityInstance() => MyAccessibilityObject;
protected override AccessibleObject CreateAccessibilityInstance() => new ButtonCellAccessibilityObject(this, name: AccessibilityName, description: AccessibilityDescription);
public AccessibleDataGridViewButtonCell(string accessibilityName) : base()
{
MyAccessibilityObject = new(this, name: accessibilityName, description: "");
AccessibilityName = accessibilityName;
}
protected class ButtonCellAccessibilityObject : DataGridViewButtonCellAccessibleObject

View File

@ -4,34 +4,31 @@ namespace LibationWinForms
{
internal class AccessibleDataGridViewTextBoxCell : DataGridViewTextBoxCell
{
protected virtual string AccessibilityName
{
get => MyAccessibilityObject.AccessibilityName;
set => MyAccessibilityObject.AccessibilityName = value;
}
private string accessibilityDescription;
protected string AccessibilityName { get; }
/// <summary>
/// Get or set description for accessibility. eg: screen readers. Also sets the ToolTipText
/// </summary>
protected string AccessibilityDescription
{
get => MyAccessibilityObject.AccessibilityDescription;
get => accessibilityDescription;
set
{
MyAccessibilityObject.AccessibilityDescription = value;
MyAccessibilityObject.Owner.ToolTipText = value;
accessibilityDescription = value;
ToolTipText = value;
}
}
protected ButtonCellAccessibilityObject MyAccessibilityObject { get; set; }
protected override AccessibleObject CreateAccessibilityInstance() => MyAccessibilityObject;
protected override AccessibleObject CreateAccessibilityInstance() => new TextBoxCellAccessibilityObject(this, name: AccessibilityName, description: AccessibilityDescription);
public AccessibleDataGridViewTextBoxCell(string accessibilityName) : base()
{
MyAccessibilityObject = new(this, name: accessibilityName, description: "");
AccessibilityName = accessibilityName;
}
protected class ButtonCellAccessibilityObject : DataGridViewTextBoxCellAccessibleObject
protected class TextBoxCellAccessibilityObject : DataGridViewTextBoxCellAccessibleObject
{
public string AccessibilityName { get; set; }
public string AccessibilityDescription { get; set; }
@ -39,7 +36,7 @@ namespace LibationWinForms
public override string Name => AccessibilityName;
public override string Description => AccessibilityDescription;
public ButtonCellAccessibilityObject(DataGridViewCell owner, string name, string description) : base(owner)
public TextBoxCellAccessibilityObject(DataGridViewCell owner, string name, string description) : base(owner)
{
AccessibilityName = name;
AccessibilityDescription = description;