fix(tickets): ticket board navigation tabs render unstyled list bullets, broken layout, and escaped HTML in aria-label
Author: maruf-pfcCreated Aug 15, 2026Updated Sep 7, 2026
LabelsFixed and Staged
### What is your set up?
Self Hosted Docker
### Version
`master` branch (`v3.9.8` development environment)
### Describe the issue
The ticket board view navigation tabs partial (`ticketBoardTabs.blade.php`) renders with a broken layout, unstyled bullet points (`•`), overlapping action buttons, and HTML-escaped tags inside the `` element's `aria-label`.
### Current Behavior:
1. **Unstyled List Bullets & Vertical Stacking**: The tab links (`Kanban`, `Table`, `List`) are wrapped in raw `
- ` and `
- ` elements inside ``. Because `.lt-tabs-group` expects direct `.lt-tab` links, standard browser default list styles (`list-style: disc`) display bullet points (`•`) and stack the tabs vertically.
2. **Overlapping Toolbar Buttons**: Because `
- `/`
- ` break the flexbox container, `.lt-tabs-actions` (`+ New`, `Filter`, `Group By`) gets pulled to the left, overlapping directly on top of the stacked list items.
3. **Escaped HTML in `aria-label`**: `aria-label` uses `{{ __('links.kanban') }}`. Because `links.kanban` contains HTML tags (`" Kanban"`), Blade escapes `<` and `>` into `<` and `>`, placing escaped HTML code inside the accessibility attribute (`aria-label="<i class='fas fa-columns'></i> Kanban / ..."`).
### Expected Behavior:
- Tabs (`Kanban`, `Table`, `List`) render as horizontal floating segment pills without bullet points or vertical stacking.
- Active tab displays crisp white pill background (`class="lt-tab on"`).
- Action buttons (`+ New`, `Filter`, `Group By`) align cleanly on the right side without overlapping tabs.
- `` element's `aria-label` contains plain text (e.g. `aria-label="Kanban / Table / List"`).
**Expected**
**Current**
### Reproduction steps 1. Open Leantime and navigate to any project. 2. Go to **To-Dos** (`/tickets/showKanban` or `/tickets/showAll`). 3. Inspect the navigation tab bar at the top of the board. ### Error Logs (LEANTIMEFOLDER/storage/logs) N/A (Frontend Blade template rendering issue; no PHP exception logs produced)
- ` break the flexbox container, `.lt-tabs-actions` (`+ New`, `Filter`, `Group By`) gets pulled to the left, overlapping directly on top of the stacked list items.
3. **Escaped HTML in `aria-label`**: `aria-label` uses `{{ __('links.kanban') }}`. Because `links.kanban` contains HTML tags (`" Kanban"`), Blade escapes `<` and `>` into `<` and `>`, placing escaped HTML code inside the accessibility attribute (`aria-label="<i class='fas fa-columns'></i> Kanban / ..."`).
### Expected Behavior:
- Tabs (`Kanban`, `Table`, `List`) render as horizontal floating segment pills without bullet points or vertical stacking.
- Active tab displays crisp white pill background (`class="lt-tab on"`).
- Action buttons (`+ New`, `Filter`, `Group By`) align cleanly on the right side without overlapping tabs.
- `` element's `aria-label` contains plain text (e.g. `aria-label="Kanban / Table / List"`).
**Expected**
Source: Leantime/leantime